文章詳情頁
簡單了解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
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章:
排行榜
