#優先讀取區域性變數,然後在讀取全部變數
#global 變數名 ,此時這個變數就是全域性變數,可以對修改全域性變數,可讀取可修改
def change_l():
name = 'zzz'
print("l-",name)
change_l() #輸出l- zzz,未改變全域性變數的值
print(name) #輸出列表['a','b']
print("----------end-----------")
def change_m():
global name
name = 'ddd' #修改全域性變數為ddd
print("m-",name)
change_m()
print(name) #改變全域性變數,輸出ddd
print("-------------end----------")
name = 'code' #(1)
def one(): #(2)
name = 'copy' #(5)
def two(): #(6)
nonlocal name #(8) #nonlocal指上一級變數name='copy',把copy修改成finished
name = 'finished' #(9)
two() #(7)
print(name) #(10) 輸出finished
print(name) #(3) 輸出code
one() #(4)
print(name) #(11) 輸出code
print("-------------end-----------")
全域性變數和區域性變數
全域性變數 可以被不同的函式 類或檔案呼叫的變數,在函式外定義。區域性變數 只能在函式內使用,定義在函式內。區域性變數的使用 class myclass def myfun num 12 print myfun num num 正確 def myfun2 num num 1 print mufun ...
全域性變數和區域性變數
區域性變數 在方法中開闢的變數,只在方法中有效 區域性變數在定義時不會初始化,要顯式的給它乙個值 如未給它乙個初始值,雖然編譯的時候會通過,但是執行的時候會產生為初始化錯誤!方法呼叫 執行完,區域性變數便會自動釋放。在方法內的語句塊中建立的變數在編譯時假如未初始,如若使用,也會報未初始化錯誤!呼叫的...
全域性變數和區域性變數
通常的認為是定義在函式外面的就稱之為全域性變數 函式體內的稱之為區域性變數 在函式中與全域性變數同名的時候 情形1 函式內部的變數名如果第一次出現,且出現在 前面,即被視為定義乙個區域性變數。num 100 定義乙個全域性變數 defdemo num 100 這裡面的實際上是定義了乙個區域性的變數 ...