久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

簡單了解python關(guān)鍵字global nonlocal區(qū)別

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

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

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

正常的

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

運(yùn)行結(jié)果:

101

使用global

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

運(yùn)行結(jié)果:

1010

使用nonlocal

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

運(yùn)行結(jié)果:

100

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 泾阳县| 博乐市| 北辰区| 锡林浩特市| 泉州市| 云南省| 项城市| 巴塘县| 新泰市| 昌图县| 长阳| 电白县| 隆化县| 普定县| 安图县| 荣昌县| 杭锦后旗| 军事| SHOW| 彭泽县| 泾川县| 珲春市| 理塘县| 彭阳县| 松阳县| 郁南县| 都兰县| 广东省| 宾阳县| 莒南县| 吉水县| 许昌县| 从化市| 永新县| 翁牛特旗| 西乌珠穆沁旗| 株洲市| 通城县| 宜丰县| 紫云| 高要市|