python中在哪些情況下必須使用global來宣告全域性變數

2021-04-14 05:53:11 字數 2663 閱讀 9058

1樓:育知同創教育

你的問題中已經說了啊!就是當它作為全域性變數的時候!

舉個例子來說,當你有一個引數在一個方法中會被改變,如果你希望把這個改變給積累下來,而不是每一次都是從頭開始變化的話,那麼這個引數就需要宣告為全域性變數

python中在哪些情況下必須使用global來宣告全域性變數

2樓:匿名使用者

如果需要在函式中訪問全域性變數,就需要global了

3樓:深圳中宇視通科技****

win8環境下python3.4配置才能把scrapy安裝成功的方法 ①先裝vs,裡面要勾選上"程式語言"包,這樣就能找到vsvarsall.bat了 ②然而scrapy還依賴其他一些包,所以還要安裝lxml。

靜態區域性變數和普通全域性變數以及靜態全域性變數的區別

4樓:好程式設計師

靜態區域性變數和普通全域性變數以及靜態全集變數在編譯時,編譯器會自動給他回們分配地址。而且是從答mcu上電執行開始,一直駐留,不會被**的。

而真正的區別在於他們的作用域。

靜態區域性變數的作用域是在於定義它的那個函式內。由於其在編譯時編譯器就給他們分配了地址,並且做了初始化,所以它只能被初始化一次,而且看起來的順序是程式每執行到這個函式時,都會執行那條定義語句,其實 並!沒!

有! 因為它已經被分配地址了,而且始終駐留在ram中。而剝離這點,其他特性都與普通的區域性變數相同。

普通全域性變數,在本檔案內可以被無限制地使用。而且其他的原始檔中,也可以通過extern關鍵字引用後使用。

而靜態全域性變數則是在普通全域性變數的基礎上,取消了extern關鍵字引用,即無論怎麼樣,只能給本檔案的程式使用,其他檔案不能使用。(保護**模組化,封閉外部介面)。

5樓:du知道君

區域性變數與其它三個

有本質區別。

區域性變數,定義在函式內,作用域為定義位置,到所在內大括號結束。 每次執行容到定義語句的時候,系統為該變數分配記憶體,當作用域結束後,記憶體被釋放。

而另外三個,都是在系統執行時就分配記憶體,在執行過程中都不會釋放,直到程式結束。

也就是說,區域性變數和其它三個,最明顯的區別:

1 生命週期不同

2 分配時間不同

3 分配位置不同。

而另外三個,在這幾項上是相同的,之間的區別在於作用域。

全域性變數,作用域為整個專案,不管在哪個檔案中,只要宣告後都可以使用。

靜態全域性變數,作用域為定義改變數的所在檔案。

而靜態區域性變數,作用域與普通區域性變數一樣,都是定義位置到所在大括號結束。

python的class裡全域性變數有時不能被呼叫

6樓:育知同創教育

你在ex裡面定義的oo,所以你得先執行過ex之後才能執行start。

class test: def __init__(self,name='testa'): self.

x = 'age' self.name = name self.ex() #加上這個 self.

start() def ex(self): global oo oo = 'this is test' def start(self): print oo t=test()

如果不適用全域性變數的話,你可以self.oo:

class test: def __init__(self,name='testa'): self.

x = 'age' self.name = name self.ex() self.

start() def ex(self): self.oo = 'this is test' def start(self):

print self.oo t=test()

static全域性變數與普通的全域性變數有什麼區別

7樓:育知同創教育

全域性變數來(外部變數)的說明之前源再冠以static 就構成了靜態的全域性變數。全域性變數本身就是靜態儲存方式, 靜態全域性變數當然也是靜態儲存方式。這兩者在儲存方式上並無不同。

這兩者的區別雖在於非靜態全域性變數的作用域是整個源程式, 當一個源程式由多個原始檔組成時,非靜態的全域性變數在各個原始檔中都是有效的。 而靜態全域性變數則限制了其作用域, 即只在定義該變數的原始檔內有效, 在同一源程式的其它原始檔中不能使用它。由於靜態全域性變數的作用域侷限於一個原始檔內,只能為該原始檔內的函式公用, 因此可以避免在其它原始檔中引起錯誤。

static全域性變數與普通的全域性變數有什麼區別:static全域性變數只初使化一次,防止在其他檔案單元中被引用;

static區域性變數和普通區域性變數有什麼區別:static區域性變數只被初始化一次,下一次依據上一次結果值;

static函式與普通函式有什麼區別:static函式在記憶體中只有一份,普通函式在每個被呼叫中維持一份拷貝。

8樓:2o12倖存者

你可以這麼理解,

static修飾的變數和方法程式一執行就在記憶體裡了,隨時可以用。普通的變數和方法需要程式執行到它,它才被載入到記憶體裡。

9樓:匿名使用者

你先解釋下普通的全域性變數是個啥?

哪些專案必須進行公開招投標,什麼情況下必須進行公開招標?

必須進行招標的專案規定 一 施工單項合同估算價在200萬元人民幣以上的 二 重要裝置 材料等貨物的採購,單項合同估算價在100萬元人民幣以上的 三 勘察 設計 監理等服務的採購,單項合同估算價在50萬元人民幣以上的 四 單項合同估算價低於第 一 二 三 項規定的標準,但專案總投資額在3000萬元人民...

python什麼情況下會輸出轉義符

可以認為一個是用的是str方法,目的是向終端顯示 一個用的repr方法,目的是把資料結構和型別表達出來 這是 python 2 特別討厭的一點,以至於我實在忍受不了寫了個 repl py27 來繞過該問題。不過最終還是遷移到 python 3 啦 w python 2 的世界是個 ascii 的世界...

哪些情況下可以右轉,駕駛汽車哪些情況下可以右轉?

車輛行駛至紅綠燈路口時,到底可不可以直接右轉彎行駛,要根據路口現場設定的紅綠燈以及交通標誌標線來確定,具體分為以下幾種情況 一 可右轉的情形 一 根據訊號燈指示可右轉的情況 二 在遵守相關讓行規定的情況下可右轉的情況 在無右轉彎箭頭燈,但機動車訊號燈 即圓燈 或直行箭頭為紅燈時,但如果該路口設定了禁...