博主簡介:原互聯網大廠tencent員工,網安巨頭Venustech員工,阿裡雲開發社區專家博主,微信公眾號java基礎筆記優質創作者,csdn優質創作博主,創業者,知識共享者,歡迎關注,點贊,收藏。
實際開發過程中,經常會遇到很多完全相同或者非常相似的操作,這時,可以將實現類似操作的代碼封裝為函數,然後在需要的地方調用該函數。這樣不僅可以實現代碼的復用,還可以使代碼更有條理性,增加代碼的可靠性。下面我們來介紹一下python的函數global和nonlocal關鍵字相關內容。
當內部作用域想要使用外部作用域的變量時,可使用global和nonlocal關鍵字。
在函數內部修改一個定義在函數外的變量時,須使用global關鍵字明確聲明變量。在函數內部通過global關鍵字來聲明或定義全局變量,可分為兩種情況:
(1)一個變量已在函數外定義,如果在函數內需要使用該變量的值或修改該變量的值,並將修改結果反映到函數外,可以在函數內用關鍵字global明確聲明該全局變量。
(2)在函數內部直接使用global關鍵字將一個變量聲明為全局變量,如果在函數外沒有定義該全局變量,在調用該函數後,會創建新的全局變量。
例:分析以下程序的運行結果。
num = 1
def fun():
global num #使用global關鍵字聲明變量為全局變量
num += 1
print('函數內num的值為',num)
fun()
print('函數外num的值為',num)
結果如下。
如果要在一個嵌套的函數中修改嵌套作用域中的變量,則須使用nonlocal關鍵字。
例:分析以下程序的運行結果。
def outer():
num = 1
def inner():
nonlocal num #nonlocal關鍵字聲明
num = 2
print(' inner函數中num的值為',num)
inner()
print(' outer函數中num的值為',num)
outer()
結果如下。
1、廖雪峰的官網
2、python官網
3、Python編程案例教程
以上就是就是關於Python的函數global和nonlocal關鍵字相關知識,可以參考一下,覺得不錯的話,歡迎點贊、收藏、在看,歡迎微信搜索關注java基礎筆記,後面會不斷更新相關知識,大家一起進步。