因?yàn)樽詈蟮哪蔷鋜eturn nested。
創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括扎魯特旗網(wǎng)站建設(shè)、扎魯特旗網(wǎng)站制作、扎魯特旗網(wǎng)頁(yè)制作以及扎魯特旗網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,扎魯特旗網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到扎魯特旗省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
tester()()會(huì)自動(dòng)調(diào)用它的返回值,而此時(shí)的返回值為nested,即def nested()這個(gè)函數(shù),所以自然而然執(zhí)行到了里面的print語(yǔ)句。
你可以試試把最后那就return nested改成其他的如return nestedxxx,再tester()()時(shí)就會(huì)報(bào)錯(cuò)了。
另外,在python里對(duì)于方法ester和nested是沒(méi)有tester().nested()這種用法的,所以這樣輸入肯定報(bào)錯(cuò)的,如果ester和nested是類(class)的話才有這種寫(xiě)法。
希望對(duì)你有所幫助~~
global
python 函數(shù)嵌套和nonlocal關(guān)鍵字
只待風(fēng)起
原創(chuàng)
關(guān)注
3點(diǎn)贊·7531人閱讀
python函數(shù)可以嵌套使用,使用也比較簡(jiǎn)單,舉個(gè)栗子:
def outer():
print("outer")
def inner():
print("inner")
inner()
outer()
## 運(yùn)行結(jié)果:
outer
inner
復(fù)制
nonlocal關(guān)鍵字:
與global關(guān)鍵字有點(diǎn)相似,可以對(duì)比著理解。nonlocal關(guān)鍵字只能作用域局部變量,且始終找離當(dāng)前最近的上層局部作用域中的變量。看栗子:
a = 1
def outer():
nonlocal a
a = 2
outer()
print(a)
復(fù)制
結(jié)果:報(bào)錯(cuò)? SyntaxError: no binding for nonlocal 'a' found,
原因分析:nonlocal關(guān)鍵字是能作用域局部變量,當(dāng)使用nonlocal聲明變量 a 時(shí),就會(huì)往上最近一層局部作用域?qū)ふ揖植孔兞?a ,結(jié)果沒(méi)找著,報(bào)錯(cuò)。
a = 1
def outer():
global a
a = 2
def inner():
nonlocal a
a = 3
inner()
print(a)
outer()
print(a)
復(fù)制
結(jié)果:報(bào)錯(cuò)? SyntaxError: no binding for nonlocal 'a' found,
原因分析:當(dāng)使用nonlocal聲明變量 a 時(shí),就會(huì)往上最近一層局部作用域?qū)ふ揖植孔兞?a ,此時(shí)外層局部作用域雖然能找到變量a,但是這找到的 這個(gè)a 已經(jīng)被global聲明為全局變量了,所以報(bào)錯(cuò)。
a = 1
def outer():
a = 2
def inner():
nonlocal a
a = 3
def inner2():
print(a)
inner2()
print(a)
inner()
print(a)
outer()
print(a)
## 運(yùn)行結(jié)果:
3
3
3
1
應(yīng)該是用大括號(hào)的 # create a mapping of state to abbreviationstates = { 'Oregon': 'OR', 'Florida': 'FL', 'California': 'CA', 'New York': 'NY', 'Michigan': 'MI'}# create a basic set of states and some cities in themcities = { 'CA': 'San Francisco', 'MI': 'Detroit', 'FL': 'Jacksonville'}
分享題目:python嵌套函數(shù)報(bào)錯(cuò) python函數(shù)里面嵌套定義函數(shù)
地址分享:http://www.chinadenli.net/article20/dosgcco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷(xiāo)、網(wǎng)站導(dǎo)航、面包屑導(dǎo)航、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站制作、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容