簡單了解python關(guān)鍵字global nonlocal區(qū)別
第一,兩者的功能不同。global關(guān)鍵字修飾變量后標識該變量是全局變量,對該變量進行修改就是修改全局變量,而nonlocal關(guān)鍵字修飾變量后標識該變量是上一級函數(shù)中的局部變量,如果上一級函數(shù)中不存在該局部變量,nonlocal位置會發(fā)生錯誤(最上層的函數(shù)使用nonlocal修飾變量必定會報錯)。
第二,兩者使用的范圍不同。global關(guān)鍵字可以用在任何地方,包括最上層函數(shù)中和嵌套函數(shù)中,即使之前未定義該變量,global修飾后也可以直接使用,而nonlocal關(guān)鍵字只能用于嵌套函數(shù)中,并且外層函數(shù)中定義了相應的局部變量,否則會發(fā)生錯誤(見第一)。
正常的
a = 1 def func(): a = 10 print(a) func() print(a)
運行結(jié)果:
10
1
使用global
a = 1 def func(): global a a = 10 print(a) func() print(a)
運行結(jié)果:
10
10
使用nonlocal
a = 1 def func(): nonlocal a a = 10 print(a) func() print(a)
運行結(jié)果:
10
0
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- Python中的global和nonlocal關(guān)鍵字的使用場景分析
- Python中的global與nonlocal關(guān)鍵字詳解
- 淺析Python中g(shù)lobal和nonlocal關(guān)鍵字的妙用
- Python?nonlocal關(guān)鍵字?與?global?關(guān)鍵字解析
- Python關(guān)鍵字之global與nonlocal
- python global和nonlocal用法解析
- Python中關(guān)鍵字global和nonlocal的區(qū)別詳解
- Python中關(guān)鍵字nonlocal和global的聲明與解析
- python中g(shù)lobal與nonlocal比較
- Python中nonlocal和global的區(qū)別及閉包使用
相關(guān)文章
python 已知一個字符,在一個list中找出近似值或相似值實現(xiàn)模糊匹配
今天小編就為大家分享一篇python 已知一個字符,在一個list中找出近似值或相似值實現(xiàn)模糊匹配,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
tensorflow使用神經(jīng)網(wǎng)絡(luò)實現(xiàn)mnist分類
這篇文章主要為大家詳細介紹了tensorflow使用神經(jīng)網(wǎng)絡(luò)實現(xiàn)mnist分類,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09

