您的位置:首頁技術文章
文章詳情頁

簡單了解python關鍵字global nonlocal區別

瀏覽:2日期:2022-07-10 15:57:03

第一,兩者的功能不同。global關鍵字修飾變量后標識該變量是全局變量,對該變量進行修改就是修改全局變量,而nonlocal關鍵字修飾變量后標識該變量是上一級函數中的局部變量,如果上一級函數中不存在該局部變量,nonlocal位置會發生錯誤(最上層的函數使用nonlocal修飾變量必定會報錯)。

第二,兩者使用的范圍不同。global關鍵字可以用在任何地方,包括最上層函數中和嵌套函數中,即使之前未定義該變量,global修飾后也可以直接使用,而nonlocal關鍵字只能用于嵌套函數中,并且外層函數中定義了相應的局部變量,否則會發生錯誤(見第一)。

正常的

a = 1def func(): a = 10 print(a)func()print(a)

運行結果:

101

使用global

a = 1def func(): global a a = 10 print(a)func()print(a)

運行結果:

1010

使用nonlocal

a = 1def func(): nonlocal a a = 10 print(a)func()print(a)

運行結果:

100

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
国产综合久久一区二区三区