python中的global關鍵字

2021-10-01 09:24:42 字數 726 閱讀 9993

1.變數作用域

先要明確作用域的概念,定義在函式內部的變數擁有乙個區域性作用域,而定義在函式外的擁有全域性作用域。

a =

5# 這是乙個全域性變數

defhello()

: a =

1# a在這裡是區域性變數.

print

("函式內是區域性變數 : "

, a)

return a

hello(

)print

("函式外是全域性變數 : "

, a)

執行結果

函式內是區域性變數 : 1

函式外是全域性變數 : 5

2.global關鍵字

如果想要在函式內部用模組定義的變數的話,就需要用到global關鍵字

a =

5def

hello()

:global a

# 宣告告訴執行引擎用的是全域性變數a

a =1print

('in test func: a = %d'

% a)

hello(

)print

('global a = %d'

% a)

執行結果:

in test func: a = 1

global a = 1

可以看到函式裡成功修改了全域性變數a

參考資料

python 中global的用法

python中定義函式時,若想在函式內部對函式外的變數進行操作,就需要在函式內部宣告其為global。例子1x 1 def func x 2 func print x 輸出 1 此時沒有使用global關鍵字,無法對全域性變數num進行修改 在func函式中並未在x前面加global,所以func函...

python中的global 學習記錄

以往寫python 也沒有用到過這個關鍵字。今天小接觸了一下,把學習到東西分享給大家。看一下下面這一段 num 9 def test2 global num print num num 0 test2 print num 執行結果 函式內,使用了global關鍵字宣告了變數num,注意,這個num因...

Python中global與nonlocal 宣告

如下 a 10 def foo a 100 執行foo 結果 a 還是10 函式中對變數的賦值,變數始終繫結到該函式的區域性命名空間,使用global 語句可以改變這種行為。a 10 def foo global a a 100 a 10 foo a 100 解析名稱時首先檢查區域性作用域,然後由內...