国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

Python 如何定義匿名或內(nèi)聯(lián)函數(shù)

瀏覽:72日期:2022-07-15 13:47:33

問題

你想為 sort() 操作創(chuàng)建一個(gè)很短的回調(diào)函數(shù),但又不想用 def 去寫一個(gè)單行函數(shù), 而是希望通過某個(gè)快捷方式以內(nèi)聯(lián)方式來創(chuàng)建這個(gè)函數(shù)。

解決方案

當(dāng)一些函數(shù)很簡(jiǎn)單,僅僅只是計(jì)算一個(gè)表達(dá)式的值的時(shí)候,就可以使用lambda表達(dá)式來代替了。比如:

>>> add = lambda x, y: x + y>>> add(2,3)5>>> add(’hello’, ’world’)’helloworld’>>>

這里使用的lambda表達(dá)式跟下面的效果是一樣的:

>>> def add(x, y):... return x + y...>>> add(2,3)5>>>

lambda表達(dá)式典型的使用場(chǎng)景是排序或數(shù)據(jù)reduce等:

>>> names = [’David Beazley’, ’Brian Jones’,... ’Raymond Hettinger’, ’Ned Batchelder’]>>> sorted(names, key=lambda name: name.split()[-1].lower())[’Ned Batchelder’, ’David Beazley’, ’Raymond Hettinger’, ’Brian Jones’]>>>

討論

盡管lambda表達(dá)式允許你定義簡(jiǎn)單函數(shù),但是它的使用是有限制的。 你只能指定單個(gè)表達(dá)式,它的值就是最后的返回值。也就是說不能包含其他的語言特性了, 包括多個(gè)語句、條件表達(dá)式、迭代以及異常處理等等。

你可以不使用lambda表達(dá)式就能編寫大部分python代碼。 但是,當(dāng)有人編寫大量計(jì)算表達(dá)式值的短小函數(shù)或者需要用戶提供回調(diào)函數(shù)的程序的時(shí)候, 你就會(huì)看到lambda表達(dá)式的身影了。

以上就是Python 如何定義匿名或內(nèi)聯(lián)函數(shù)的詳細(xì)內(nèi)容,更多關(guān)于Python 定義匿名或內(nèi)聯(lián)函數(shù)的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 崇义县| 太和县| 新营市| 米泉市| 岑溪市| 永康市| 南康市| 楚雄市| 长海县| 瑞安市| 泸定县| 车险| 蒙阴县| 嵩明县| 金溪县| 平度市| 呼和浩特市| 瓮安县| 临西县| 黎平县| 长治市| 武清区| 大渡口区| 拜泉县| 满洲里市| 吐鲁番市| 祥云县| 东港市| 安宁市| 丰都县| 桃园市| 涡阳县| 册亨县| 加查县| 屏山县| 平阳县| 碌曲县| 永嘉县| 洛扎县| 凭祥市| 平顶山市|