1. 如果函式中定義的區域變數與全域變數名稱相同,則使用的是區域變數,不是全域變數
2. 在函式中要改變全域變數的值,要先用global宣告
g_var = 1
def printGlobalVar():
print("print global g_var = ", g_var)#在這裡沒有宣告區域變數,而是直接使用全域變數
def printLocalVar():
g_var = 2 #宣告一個和全域變數同名的區域變數,將區域變數的值設為2
print("print local g_var = ", g_var)
def modifyGlobalVar():
global g_var #如果沒宣告這行,就跟 printLocalVar() 一樣,改的是區域變數
g_var = 4
printGlobalVar()
printLocalVar()
print("print global g_var = ", g_var) #全域變數沒被修改過
modifyGlobalVar()#修改全域變數
print("print global(modified) g_var = ", g_var) #全域變數被修改了
結果:
print global g_var = 1
print local g_var = 2
print global g_var = 1
print global(modified) g_var = 4
沒有留言:
張貼留言