程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python基礎之函數global和nonlocal關鍵字

編輯:Python

博主簡介:原互聯網大廠tencent員工,網安巨頭Venustech員工,阿裡雲開發社區專家博主,微信公眾號java基礎筆記優質創作者,csdn優質創作博主,創業者,知識共享者,歡迎關注,點贊,收藏。

目錄

      • 一、背景
      • 二、global和nonlocal關鍵字
        • 1.global關鍵字
        • 2.nonlocal關鍵字
      • 三、參考
      • 四、總結


一、背景

實際開發過程中,經常會遇到很多完全相同或者非常相似的操作,這時,可以將實現類似操作的代碼封裝為函數,然後在需要的地方調用該函數。這樣不僅可以實現代碼的復用,還可以使代碼更有條理性,增加代碼的可靠性。下面我們來介紹一下python的函數global和nonlocal關鍵字相關內容。


二、global和nonlocal關鍵字

當內部作用域想要使用外部作用域的變量時,可使用global和nonlocal關鍵字。

1.global關鍵字

在函數內部修改一個定義在函數外的變量時,須使用global關鍵字明確聲明變量。在函數內部通過global關鍵字來聲明或定義全局變量,可分為兩種情況:
(1)一個變量已在函數外定義,如果在函數內需要使用該變量的值或修改該變量的值,並將修改結果反映到函數外,可以在函數內用關鍵字global明確聲明該全局變量。
(2)在函數內部直接使用global關鍵字將一個變量聲明為全局變量,如果在函數外沒有定義該全局變量,在調用該函數後,會創建新的全局變量。

例:分析以下程序的運行結果。

num = 1
def fun():
global num #使用global關鍵字聲明變量為全局變量
num += 1
print('函數內num的值為',num)
fun()
print('函數外num的值為',num)

結果如下。

2.nonlocal關鍵字

如果要在一個嵌套的函數中修改嵌套作用域中的變量,則須使用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基礎筆記,後面會不斷更新相關知識,大家一起進步。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved