在Python中,global關鍵字用于在函數(shù)內(nèi)部聲明全局變量。全局變量是在整個程序中都可以訪問的變量,而不僅僅是在函數(shù)內(nèi)部。
使用global關鍵字可以將一個變量聲明為全局變量,這樣它就可以在函數(shù)內(nèi)部和外部使用。在函數(shù)內(nèi)部,如果要修改全局變量的值,必須使用global關鍵字。
_x000D_例如,下面的代碼演示了如何在函數(shù)內(nèi)部使用全局變量:
_x000D_ _x000D_count = 0
_x000D_def increment():
_x000D_global count
_x000D_count += 1
_x000D_print(count)
_x000D_increment() # 輸出1
_x000D_increment() # 輸出2
_x000D_increment() # 輸出3
_x000D_ _x000D_在這個例子中,我們定義了一個全局變量count,并在函數(shù)increment內(nèi)部使用它。使用global關鍵字告訴Python,我們要修改的是全局變量count,而不是函數(shù)內(nèi)部的局部變量。
_x000D_在函數(shù)increment內(nèi)部,我們通過count += 1將全局變量count的值增加1。然后,我們使用print函數(shù)輸出count的值。
_x000D_在調(diào)用increment函數(shù)三次后,count的值分別為1、2和3。
_x000D_### Q&A
_x000D_#### 1. 在Python中,什么是全局變量?
_x000D_全局變量是在整個程序中都可以訪問的變量,而不僅僅是在函數(shù)內(nèi)部。全局變量可以在任何地方使用,包括函數(shù)內(nèi)部和外部。
_x000D_#### 2. 如何在Python中聲明一個全局變量?
_x000D_可以使用global關鍵字在函數(shù)內(nèi)部聲明一個全局變量。例如,下面的代碼聲明了一個全局變量count:
_x000D_ _x000D_count = 0
_x000D_def increment():
_x000D_global count
_x000D_count += 1
_x000D_print(count)
_x000D_ _x000D_#### 3. 如果在函數(shù)內(nèi)部不使用global關鍵字,會發(fā)生什么?
_x000D_如果在函數(shù)內(nèi)部不使用global關鍵字,Python會認為你要創(chuàng)建一個新的局部變量,而不是修改全局變量。這意味著在函數(shù)內(nèi)部修改變量的值不會影響到全局變量。
_x000D_例如,下面的代碼演示了在函數(shù)內(nèi)部不使用global關鍵字的情況:
_x000D_ _x000D_count = 0
_x000D_def increment():
_x000D_count += 1
_x000D_print(count)
_x000D_increment() # 報錯:UnboundLocalError: local variable 'count' referenced before assignment
_x000D_ _x000D_在這個例子中,我們在函數(shù)內(nèi)部嘗試修改全局變量count的值,但是Python會報錯,因為它認為我們要創(chuàng)建一個新的局部變量count,而不是修改全局變量。
_x000D_