關於python中的全域性變數

2021-10-24 20:46:41 字數 864 閱讀 5183

1.主函式if __name__ == '__main__':中定義的變數,預設為在外部定義的全域性變數,即相當於在py檔案開頭定義的一些變數,其他子函式可以引用;

2.如果子函式中,需要引用並修改全域性變數的話,需要加global關鍵字,如:

i =

0def

closure()

:global i

i +=

1print

(i)

3.當全域性變數是字典或者列表時,也可以不加global,程式會自動判斷為你在修改全域性變數,如:

i =[1

,2,3

]def

closure()

: i[0]

=100

print

(i[0

])

4.當全域性變數不是字典或者列表且你不加global時,對這一變數進行操作並不起作用,因為它只存在於子函式內部,當函式結束時這一變數自動**,回到主函式仍然是原來的值,如:

i =

1def

closure()

: i =

2print

(i)# 輸出結果為 2

print

(i)# 輸出結果為 1,因為 i=2 這句只在子函式內部起作用

5.如果只是單純引用全域性變數做一些判斷的話(不涉及變數修改),可以不加global直接引用:

i =

1def

closure()

:if i <

100:

print

(i)

python中關於全域性變數

title date br python中關於全域性變數 2019 09 03 15 58 02 0700 python基礎 python num 1 定義全域性變數 def test1 num 2 print num def test2 print num test1 test2 2 1 並未如所...

關於python全域性變數

描述global best pec1 def main best prec1 1 train def train print best prec1 報錯 best prec1沒有定義。原因 當函式中定義同名的區域性變數時,原來定義的全域性變數會被區域性變數覆蓋掉。因此train 中就不再有變數bes...

python中全域性變數

在python中,全域性變數一般有兩種使用方式 第一種 是在乙個單獨的模組中定義好,然後在需要使用的全域性模組中將定義的全域性變數模組匯入。第二種 直接在當前的模組中定義好,然後直接在本模組中通過global宣告,然後使用 具體的方法如下所示 第一種 solr url def tt global s...