Python中定義函數時,若想在函數內部對函數外的變量進行操作,就需要在函數內部聲明其為global。
例子1
x = 1
def func():
x = 2
func()
print(x)
輸出:1
此時沒有使用global關鍵字,無法對全局變量num進行修改
在func函數中並未在x前面加global,所以func函數無法將x賦為2,無法改變x的值
例子2
x = 1
def func():
global x #在函數內部加 global
x = 2
func()
print(x)
輸出:2
想要對全局變量進行修改,要用到關鍵字global!
#global關鍵字(內部作用域想要對外部作用域的變量進行修改)
加了global,則可以在函數內部對函數外的對象進行操作了,也可以改變它的值了
例子3
global x
x = 1
def func():
x = 2
func()
print(x)
輸出:1
global需要在函數內部聲明,若在函數外聲明,則函數依然無法操作x