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 解析名稱時首先檢查區域性作用域,然後由內...