新聞中心
說明

創(chuàng)新互聯(lián)網(wǎng)站建設(shè)提供從項(xiàng)目策劃、軟件開發(fā),軟件安全維護(hù)、網(wǎng)站優(yōu)化(SEO)、網(wǎng)站分析、效果評估等整套的建站服務(wù),主營業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站,成都App定制開發(fā)以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。創(chuàng)新互聯(lián)深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
1、nonlocal聲明的變量不是局部變量或全局變量,而是外部嵌套函數(shù)中的變量。
2、nonlocal定義后的變量只會在調(diào)用的子函數(shù)中發(fā)揮作用。
實(shí)例
x = 1 def func(): nonlocal x x =2 print(x) func() print(x) 結(jié)果代碼報(bào)錯(cuò),SyntaxError: no binding for nonlocal 'x' found
為什么我只是把global換 成了nonlocal,卻報(bào)錯(cuò)了?因?yàn)閚onlocal是用于函數(shù)中的函數(shù)。
x = 1
def func():
x = 2
def subfunc():
nonlocal x
x = x + 1
print('subfunc內(nèi)打印的值:%d' % x)
return x
print('func內(nèi)打印的值:%d' % x)
return subfunc
func()
print('func外打印的值:%d' % x)
結(jié)果是:
func內(nèi)打印的值:2
func外打印的值:1nonlocal關(guān)鍵字既沒有改變?nèi)肿兞縳=1的值,也沒有改變局部變量x=2的值。這就是指nonlocal聲明的變量不是局部變量,也不是全局變量。
以上就是python中nonlocal關(guān)鍵字的介紹,希望對大家有所幫助。更多Python學(xué)習(xí)指路:創(chuàng)新互聯(lián)python教程
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。
標(biāo)題名稱:創(chuàng)新互聯(lián)Python教程:python中nonlocal關(guān)鍵字是什么
當(dāng)前路徑:http://fisionsoft.com.cn/article/dhohhpi.html


咨詢
建站咨詢
