溫馨提示×

Python關(guān)鍵字global有什么用

小億
122
2023-09-27 23:14:30
欄目: 編程語言

在Python中,global關(guān)鍵字用于在函數(shù)內(nèi)部聲明全局變量。當(dāng)我們在函數(shù)內(nèi)部定義一個變量時,默認(rèn)情況下,該變量是局部變量,只在函數(shù)內(nèi)部有效,函數(shù)執(zhí)行完畢后該變量會被銷毀。但有時我們需要在函數(shù)內(nèi)部修改全局變量的值,這時就可以使用global關(guān)鍵字。

使用global關(guān)鍵字后,變量聲明為全局變量,即在函數(shù)內(nèi)外都可以訪問和修改該變量。例如:

x = 10
def func():
global x
x = 20
func()
print(x)  # 輸出 20

在上面的例子中,我們在函數(shù)內(nèi)部使用global x聲明了變量x為全局變量,然后在函數(shù)內(nèi)修改了x的值為20。之后,在函數(shù)外部打印x的值時,得到的是20,表明x的值在函數(shù)內(nèi)部成功被修改。

需要注意的是,如果在函數(shù)內(nèi)部沒有使用global關(guān)鍵字聲明變量為全局變量,而直接修改了變量的值,Python會將其視為局部變量,而不是對全局變量進(jìn)行修改。例如:

x = 10
def func():
x = 20
func()
print(x)  # 輸出 10

在上面的例子中,盡管函數(shù)內(nèi)部修改了x的值為20,但由于沒有使用global關(guān)鍵字聲明為全局變量,所以函數(shù)內(nèi)部的x被視為局部變量,函數(shù)執(zhí)行完畢后被銷毀,全局變量x的值仍然是10。

0