一、global
global關鍵字用來在函式或其他區域作用域中使用全域變數
1.1 如果區域要對全域變數修改,而不使用global關鍵字
count = 0 def global_test(): count += 1 print(count) global_test()
會出現如下錯誤:
UnboundLocalError: local variable 'count' referenced before assignment
1.2 如果區域要對全域變數修改,應在區域宣告該全域變數
count=0
def globaltest1(): global count count+=1 print("globaltest1 "+str(count)) globaltest1() print("count "+str(count))
以上輸出為:
globaltest1 1
count 1
1.3 對于函式傳值
count=0 def globaltest(count): count+=1 print("globaltest "+str(count)) globaltest(count) print("count "+str(count))
以上輸出為:
globaltest 1
count 0
二、nonlocal
nonlocal宣告的變數不是區域變數,也不是全域變數,而是外部潛逃函式內的變數
def nonlocaltest(): count=0 def test(): nonlocal count count+=1 print("nonlocaltest " + str(count)) test() print("count "+str(count)) nonlocaltest()
以上輸出為:
nonlocaltest 1
count 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/170800.html
標籤:其他
