最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

床長(zhǎng)人工智能教程免費(fèi)擴(kuò)展207

2023-03-11 20:30 作者:永生逍遙  | 我要投稿

朋友們,如需轉(zhuǎn)載請(qǐng)標(biāo)明出處:[https://blog.csdn.net/jiangjunshow](https://blog.csdn.net/jiangjunshow)


聲明:在人工智能技術(shù)教學(xué)期間,不少學(xué)生向我提一些python相關(guān)的問(wèn)題,所以為了讓同學(xué)們掌握更多擴(kuò)展知識(shí)更好地理解AI技術(shù),我讓助理負(fù)責(zé)分享這套python系列教程,希望能幫到大家!由于這套python教程不是由我所寫(xiě),所以不如我的AI技術(shù)教學(xué)風(fēng)趣幽默,學(xué)起來(lái)比較枯燥;但它的知識(shí)點(diǎn)還是講到位的了,也值得閱讀!想要學(xué)習(xí)AI技術(shù)的同學(xué)可以點(diǎn)擊跳轉(zhuǎn)到我的[教學(xué)網(wǎng)站](https://www.captainbed.net/csdn)。PS:看不懂本篇文章的同學(xué)請(qǐng)先看前面的文章,循序漸進(jìn)每天學(xué)一點(diǎn)就不會(huì)覺(jué)得難了!


除了def語(yǔ)句之外,Python還提供了一種生成函數(shù)對(duì)象的表達(dá)式形式。由于它與LISP語(yǔ)言中的一個(gè)工具很相似,所以稱為lambda。就像def一樣,這個(gè)表達(dá)式創(chuàng)建了一個(gè)之后能夠調(diào)用的函數(shù),但是它返回了一個(gè)函數(shù)而不是將這個(gè)函數(shù)賦值給一個(gè)變量名。這也就是lambda有時(shí)叫做匿名(也就是沒(méi)有函數(shù)名)的函數(shù)的原因。實(shí)際上,它們常常以一種行內(nèi)進(jìn)行函數(shù)定義的形式使用,或者用作推遲執(zhí)行一些代碼。


lambda的一般形式是關(guān)鍵字lambda,之后是一個(gè)或多個(gè)參數(shù)(與一個(gè)def頭部?jī)?nèi)用括號(hào)括起來(lái)的參數(shù)列表極其相似),緊跟的是一個(gè)冒號(hào),之后是一個(gè)表達(dá)式:



lambda argument1,argument2,...argumentN :expression using arguments


由lambda表達(dá)式所返回的函數(shù)對(duì)象與由def創(chuàng)建并賦值后的函數(shù)對(duì)象工作起來(lái)是完全一樣的,但是lambda有一些不同之處讓其在扮演特定的角色時(shí)很有用。


?lambda是一個(gè)表達(dá)式,而不是一個(gè)語(yǔ)句。因?yàn)檫@一點(diǎn),lambda能夠出現(xiàn)在Python語(yǔ)法不允許def出現(xiàn)的地方——例如,在一個(gè)列表常量中或者函數(shù)調(diào)用的參數(shù)中。此外,作為一個(gè)表達(dá)式,lambda返回了一個(gè)值(一個(gè)新的函數(shù)),可以選擇性地賦值給一個(gè)變量名。相反,def語(yǔ)句總是得在頭部將一個(gè)新的函數(shù)賦值給一個(gè)變量名,而不是將這個(gè)函數(shù)作為結(jié)果返回。

?lambda的主體是一個(gè)單個(gè)的表達(dá)式,而不是一個(gè)代碼塊。這個(gè)lambda的主體簡(jiǎn)單得就好像放在def主體的return語(yǔ)句中的代碼一樣。簡(jiǎn)單地將結(jié)果寫(xiě)成一個(gè)順暢的表達(dá)式,而不是明確的返回。因?yàn)樗鼉H限于表達(dá)式,lambda通常要比def功能要?。耗銉H能夠在lambda主體中封裝有限的邏輯進(jìn)去,連if這樣的語(yǔ)句都不能夠使用。這是有意設(shè)計(jì)的——它限制了程序的嵌套:lambda是一個(gè)為編寫(xiě)簡(jiǎn)單的函數(shù)而設(shè)計(jì)的,而def用來(lái)處理更大的任務(wù)。


除了這些差別,def和lambda都能夠做同樣種類的工作。例如,下面是如何使用def語(yǔ)句創(chuàng)建函數(shù)。



```

>>>def func(x,y,z): return x + y + z


...


>>>func(2,3,4)


9

```


我們也能夠使用lambda表達(dá)式達(dá)到相同的效果,通過(guò)明確地將結(jié)果賦值給一個(gè)變量名,之后就能夠通過(guò)這個(gè)變量名調(diào)用這個(gè)函數(shù)。



```

>>>f = lambda x,y,z: x + y + z


>>>f(2,3,4)


9

```


這里的f被賦值給一個(gè)lambda表達(dá)式創(chuàng)建的函數(shù)對(duì)象。這也就是def所完成的任務(wù),只不過(guò)def的賦值是自動(dòng)進(jìn)行的。


默認(rèn)參數(shù)也能夠在lambda參數(shù)中使用,就像在def中使用一樣。



```

>>>x = (lambda a="fee",b="fie",c="foe": a + b + c)


>>>x("wee")


'weefiefoe'

```


在lambda主體中的代碼與在def內(nèi)的代碼一樣都遵循相同的作用域查找法則。lambda表達(dá)式引入的一個(gè)本地作用域更像一個(gè)嵌套的def語(yǔ)句,將會(huì)自動(dòng)從上層函數(shù)中、模塊中以及內(nèi)置作用域中(通過(guò)LEGB法則)查找變量名。



```

>>>def knights():


...? ? title = 'Sir'


...? ? action = (lambda x: title + ' ' + x)? ? # Title in enclosing def


...? ? return action? ? ? ? ? ? ? ? ? ? ? ? ? ?# Return a function


...


>>>act = knights()


>>>act('robin')


'Sir robin'

```


床長(zhǎng)人工智能教程免費(fèi)擴(kuò)展207的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
图片| 临武县| 无棣县| 保定市| 古田县| 桐柏县| 商河县| 莲花县| 故城县| 罗山县| 栖霞市| 防城港市| 大新县| 探索| 三原县| 宁波市| 临邑县| 徐汇区| 东港市| 桂阳县| 新民市| 伊宁县| 同仁县| 宁津县| 高碑店市| 公主岭市| 车险| 托克逊县| 大英县| 博客| 武冈市| 大港区| 太原市| 齐齐哈尔市| 黔江区| 呼玛县| 怀柔区| 泸水县| 大埔区| 巩留县| 固始县|