num = 10
def func():
x = num + 10
print(x)
def func2():
# 報錯,因爲num作爲左值被認爲是局部變量了,不能在賦值之前使用
# num = num + 10
print(num)
func()
func2()
# 報錯,不存在x
# print(x)
print(num)
# 以下是輸出內容:
Out:
20
10
10
總結:
1. 在函數內重新定義的量如果與外部變量重名,是局部變量
2. 在函數內僅僅使用的量如果與外部變量重名,是全局變量
即:不能在函數內部修改全局變量!
但是我們可以使用global關鍵字:
num = 10
def func3():
global num
print('num:', num)
num += 10
print('num:', num)
print('num:', num)
Out:
num: 10
num: 20
num: 20
這樣就做到了在函數內部修改全局變量了
3. 使用global關鍵字可以在函數內部修改全局變量