Python 關鍵字global和nonlocal

2021-10-13 13:25:46 字數 966 閱讀 4341

區域性要對全域性變數修改,應在區域性宣告該全域性變數

count =

0def

global_test()

:global count

count +=

1print

(count)

global_test(

)# 以上輸出為:1

注意:global會對原來的值(全域性變數)進行相應的修改

count =

0def

global_test()

:global count

count +=

1print

(count)

global_test(

)print

(count)

# 以上輸出為:1,1

如果區域性不宣告全域性變數,並且不修改全域性變數,則可以正常使用。

count =

0def

global_test()

:print

(count)

global_test(

)# 以上輸出為:0

nonlocal宣告的變數不是區域性變數,也不是全域性變數,而是外部巢狀函式內的變數。

def

nonlocal_test()

: count =

0def

test2()

:nonlocal count

count +=

1return count

return test2

val = nonlocal_test(

)print

(val())

print

(val())

print

(val())

以上輸出為:1,2,3

引用 global關鍵字

引用賦值 data id 1 id 2 articlelist id 1 title 標題1 id 2 title 標題2 foreach data as key val print r data exit 輸出 array 0 array id 1 info array id 1 title 標題...

python中的global關鍵字

我最近遇到了乙個關於 python 全域性變數的問題,如下面這個簡單例子裡展示 當然實際 要比這個複雜的多,這裡只是乙個抽象出來當例子 例子中foo.py定義了函式f,而函式f呼叫了全域性變數a foo.py def f print a def main global a a 5 f if name...

python中的global關鍵字

1.變數作用域 先要明確作用域的概念,定義在函式內部的變數擁有乙個區域性作用域,而定義在函式外的擁有全域性作用域。a 5 這是乙個全域性變數 defhello a 1 a在這裡是區域性變數.print 函式內是區域性變數 a return a hello print 函式外是全域性變數 a 執行結果...