python全域性變數和區域性變數:
定義在函式內的為區域性變數,在外部訪問區域性變數會出現未定義的錯誤
定義在函式外的變數稱為全域性變數,可以在整個函式範圍內訪問
當函式中存在與全域性變數重名的變數,以函式中的區域性變數為準
定義在函式中的區域性變數的作用域只在函式中
#定義全域性變數 total
total =0
defadd(num1,num2):
#定義區域性變數 total
total = num1 +num2
#輸出區域性變數
(total)
add(4,6)#10
(total)
#0
在函式內部,如果想要修改外部變數時,可以使用 global 或 nonlocal 關鍵字
global 全域性變數名:
在函式中使用全域性變數,可以對全域性變數進行修改。
注:如果只是在函式中使用了和全域性變數相同的名字,則只是區域性變數
#定義全域性變數 total
total =0
defadd(num1,num2):
#使用 global 關鍵字宣告全域性變數 total
global
total
total = num1 +num2
#輸出全域性變數
(total)
add(4,6)#10
#輸出全域性變數
(total)
#10
nonlocal 巢狀作用域中的變數(巢狀函式,外層函式與內層函式之間):
修改巢狀函式之間的變數
#nonlocal 巢狀作用域中的變數(巢狀函式,外層函式與內層函式之間):
#修改巢狀函式之間的變數
deffunc_out():
num = 5
deffunc_inner():
#使用巢狀函式中的 num 值
nonlocal num
num = 10
print("
最內部函式中的 num 的值:
",num)
func_inner()
print("
巢狀函式中的 num 的值:
",num)
func_out()
#最內部函式中的 num 的值: 10
#巢狀函式中的 num 的值: 10
2020-02-12
python全域性變數和區域性變數
總體來說跟c 差不多 有一點不一樣的是,當乙個全域性變數在某一函式中出現了賦值之後,函式中使用的是相同名字的區域性變數,而全域性變數不受影響 如a 100 def f a 100 print a f 這裡,函式內部的變數名如果第一次出現,且出現在 前面,即被視為定義乙個區域性變數。而函式中的a是乙個...
python全域性變數和區域性變數
當你在函式定義內宣告變數的時候,它們與函式外具有相同名稱的其他變數沒有任何關係,即變數名稱對於函式來說是 區域性 的。這稱為變數的 作用域 所有變數的作用域是它們被定義的塊,從它們的名稱被定義的那點開始。使用區域性變數 usr bin python filename func local.py de...
Python全域性變數和區域性變數
定義在函式內部的變數擁有乙個區域性作用域,定義在函式外的擁有全域性作用域。區域性變數只能在其被宣告的函式內部訪問,而全域性變數可以在整個程式範圍內訪問。呼叫函式時,所有在函式內宣告的變數名稱都將被加入到作用域中。如下例項 total 0 這是乙個全域性變數 可寫函式說明 def sum arg1,a...