第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

關(guān)于Python里面lambda用法的一個(gè)疑惑

關(guān)于Python里面lambda用法的一個(gè)疑惑

ABOUTYOU 2019-04-08 11:18:38
標(biāo)題描述可能不是很準(zhǔn)確,因?yàn)槲也恢绬栴}的原因在哪里在《Python學(xué)習(xí)手冊(cè)第三版》第16章,作用域和參數(shù)這里,有一個(gè)例子,反復(fù)想了很久,不得其解,希望大家?guī)臀医饣?。下面是書中的?nèi)容:嵌套作用域和lambda盡管對(duì)于def本身來說,嵌套作用域很少使用,但是當(dāng)開始編寫lambda表達(dá)式時(shí),就要注意了。我們到17章才會(huì)深入學(xué)習(xí)lambda,但是簡(jiǎn)短地說,它就是一個(gè)表達(dá)式,將會(huì)生成后面會(huì)被調(diào)用的一個(gè)新的函數(shù),與def語(yǔ)句很相似。由于它是一個(gè)表達(dá)式,盡管能夠使用在def中不能使用的地方,例如,在一個(gè)列表或是字典常量之中。就像def,lambda表達(dá)式引入了新的本地作用域。多虧了嵌套作用域查找層,lambda能夠看到所有生存在所編寫的函數(shù)的變量。因此,以下的代碼現(xiàn)在能夠運(yùn)行,但僅僅是因?yàn)槿缌钅軌蚴褂们短鬃饔糜蚍▌t了。>>>deffunc():x=4action=(lambdan:x**n)returnaction>>>x=func()>>>printx(2)16我的疑惑是,為什么需要先把x賦值給func(),如果不賦值,直接調(diào)用func()會(huì)顯示:最后,printx(2),為什么這里可以傳參數(shù),并且傳進(jìn)的參數(shù),變成了函數(shù)例子中l(wèi)ambda表達(dá)式里的n?不知道我這樣表達(dá)是否清楚。謝謝大家。
查看完整描述

2 回答

?
守著一只汪

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊

首先更正你的一個(gè)概念:
為什么需要先把x賦值給func()正確的說法是把func()的返回值賦值給x。
然后再來看看這段代碼的實(shí)際含義:
deffunc():#定義函數(shù)func()
x=4#函數(shù)內(nèi)部變量x
action=(lambdan:x**n)#定義匿名函數(shù)action(n)
returnaction#返回函數(shù)action函數(shù)對(duì)象本身,而不是它的值
x=func()#func()的返回值賦值給x,此時(shí)的x是一個(gè)函數(shù)對(duì)象
printx(2)#調(diào)用action(2)
其實(shí)還可以等價(jià)寫成下面這個(gè)樣子:
defouter_func():
x=4
definner_func(n):
returnx**n
returninner_func
x=outer_func()
printx(2)
如有疑問,歡迎討論。
                            
查看完整回答
反對(duì) 回復(fù) 2019-04-08
?
BIG陽(yáng)

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

不賦值也行啊,func()(2),action就是一個(gè)接受一個(gè)參數(shù)的匿名函數(shù)對(duì)象嘛。既然是一個(gè)函數(shù)對(duì)象,那就要用()才能調(diào)用它,然后這個(gè)函數(shù)對(duì)象接受一個(gè)參數(shù),那就給個(gè)參數(shù)它咯:)。
                            
查看完整回答
反對(duì) 回復(fù) 2019-04-08
  • 2 回答
  • 0 關(guān)注
  • 318 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)