0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

python匿名函數(shù)的使用

python爬蟲知識分享 ? 來源:python爬蟲知識分享 ? 作者:python爬蟲知識分享 ? 2022-03-02 16:42 ? 次閱讀

python匿名函數(shù)的使用

匿名函數(shù)(英語:anonymous function)是指一類無需定義標識符(函數(shù)名)的函數(shù)。通俗來說呢,就是它可以讓我們的函數(shù),可以不需要函數(shù)名。

正常情況下,我們定義一個函數(shù),使用的是 def 關(guān)鍵字,而當你學(xué)會使用匿名函數(shù)后,替代 def 的是 lambda。

這邊使用deflambda 分別舉個例子,你很快就能理解。

def mySum(x, y):
    return x+y
mySum(2, 3)
# 5

(lambda x, y: x+y)(2, 4)
# 6

從上面的示例,我們可以看到匿名函數(shù)直接運行,省下了很多行的代碼,有沒有?

接下來,我們的仔細看一下它的用法

帶 if/else

>>>( lambda x, y: x if x < y else y )( 1, 2 )
1

嵌套函數(shù)

>>>( lambda x: ( lambda y: ( lambda z: x + y + z  )( 1 ) )( 2 ) )( 3 )
6

遞歸函數(shù)

>>> func = lambda n:1 if n == 0 else n * func(n-1)
>>> func(5)
120

或者

>>> f = lambda func, n: 1 if n == 0 else n * func( func, n - 1 )
>>> f(f,4)
24

從以上示例來看,lambda 表達式和常規(guī)的函數(shù)相比,寫法比較怪異,可讀性相對較差。除了可以直接運行之外,好像并沒有其他較為突出的功能,為什么在今天我們要介紹它呢?

首先我們要知道 lambda 是一個表達式,而不是一個語句。正因為這個特點,我們可以在一些特殊的場景中去使用它。

審核編輯:符乾江

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4344

    瀏覽量

    62839
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4804

    瀏覽量

    84910
收藏 人收藏

    評論

    相關(guān)推薦

    如何用python控制usb2any?

    我想用python控制usb2any,在網(wǎng)上搜索后得到的關(guān)于usb2any的資料很少,是否有官方的usb2any函數(shù)庫?
    發(fā)表于 11-08 14:36

    SUMIF函數(shù)與SUMIFS函數(shù)的區(qū)別

    SUMIF函數(shù)和SUMIFS函數(shù)都是Excel中用于條件求和的函數(shù),它們可以幫助用戶根據(jù)特定的條件對數(shù)據(jù)進行求和。盡管它們的基本功能相似,但在使用場景和功能上存在一些差異。以下是對這兩個函數(shù)
    的頭像 發(fā)表于 10-30 09:51 ?1424次閱讀

    Python常用函數(shù)大全

    Python 世界里,有一些寶藏函數(shù)和模塊,它們可以讓你編程更輕松、代碼更高效。這篇文章將帶你一一認識這些神器,讓你的開發(fā)生活瞬間輕松不少!
    的頭像 發(fā)表于 10-27 17:20 ?306次閱讀

    如何用python控制usb2any?

    我想用python控制usb2any,在網(wǎng)上搜索后得到的關(guān)于usb2any的資料很少,是否有官方的usb2any函數(shù)庫?
    發(fā)表于 09-27 06:44

    【每天學(xué)點AI】一個例子帶你了解Python裝飾器到底在干嘛!

    進行“加料”呢?Python裝飾器提供了一個更為優(yōu)雅的方式來增強現(xiàn)有函數(shù)的行為,并且不需要修改現(xiàn)有的函數(shù)代碼及調(diào)用方式。接下來通過一個案例來介紹一下裝飾器的原理和實
    的頭像 發(fā)表于 09-20 16:54 ?579次閱讀
    【每天學(xué)點AI】一個例子帶你了解<b class='flag-5'>Python</b>裝飾器到底在干嘛!

    動態(tài)代理IP的匿名性和透明度,為主要考慮關(guān)鍵!

    動態(tài)代理IP的匿名性和透明度是用戶選擇代理服務(wù)時需要考慮的關(guān)鍵因素。根據(jù)用戶的需求和場景,可以選擇不同匿名級別和透明度的代理服務(wù)來平衡隱私保護和網(wǎng)絡(luò)訪問的需求。
    的頭像 發(fā)表于 09-20 07:36 ?315次閱讀
    動態(tài)代理IP的<b class='flag-5'>匿名</b>性和透明度,為主要考慮關(guān)鍵!

    pytorch和python的關(guān)系是什么

    在當今的人工智能領(lǐng)域,Python已經(jīng)成為了最受歡迎的編程語言之一。Python的易學(xué)易用、豐富的庫和框架以及強大的社區(qū)支持,使其成為了數(shù)據(jù)科學(xué)、機器學(xué)習(xí)和深度學(xué)習(xí)等領(lǐng)域的首選語言。而在深度學(xué)習(xí)領(lǐng)域
    的頭像 發(fā)表于 08-01 15:27 ?2168次閱讀

    python函數(shù)的萬能參數(shù)

    我們通過一個簡單的事例來展示一下函數(shù)的萬能參數(shù),我們先寫一個最簡單的函數(shù)
    的頭像 發(fā)表于 07-17 14:56 ?366次閱讀
    <b class='flag-5'>python</b><b class='flag-5'>函數(shù)</b>的萬能參數(shù)

    opencv-python和opencv一樣嗎

    不一樣。OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺和機器學(xué)習(xí)軟件庫,它提供了大量的圖像和視頻處理功能。OpenCV-Python
    的頭像 發(fā)表于 07-16 10:38 ?1322次閱讀

    如何使用Python進行神經(jīng)網(wǎng)絡(luò)編程

    神經(jīng)網(wǎng)絡(luò)簡介 神經(jīng)網(wǎng)絡(luò)是一種受人腦啟發(fā)的機器學(xué)習(xí)模型,由大量的節(jié)點(或稱為“神經(jīng)元”)組成,這些節(jié)點在網(wǎng)絡(luò)中相互連接。每個節(jié)點可以接收輸入,對輸入進行加權(quán)求和,然后通過一個激活函數(shù)產(chǎn)生輸出
    的頭像 發(fā)表于 07-02 09:58 ?433次閱讀

    函數(shù)指針與回調(diào)函數(shù)的應(yīng)用實例

    通常我們說的指針變量是指向一個整型、字符型或數(shù)組等變量,而函數(shù)指針是指向函數(shù)。 函數(shù)指針可以像一般函數(shù)一樣,用于調(diào)用函數(shù)、傳遞參數(shù)。
    的頭像 發(fā)表于 03-07 11:13 ?423次閱讀
    <b class='flag-5'>函數(shù)</b>指針與回調(diào)<b class='flag-5'>函數(shù)</b>的應(yīng)用實例

    函數(shù)發(fā)生器的作用,概念要點是什么

    函數(shù)生成器是Python中非常強大的特性之一。它們允許我們以一種簡潔且高效的方式生成迭代器,從而幫助我們更好地處理大量數(shù)據(jù)或者在特定條件下生成無限數(shù)據(jù)。在本文中,我們將探討函數(shù)生成器的作用及其關(guān)鍵
    的頭像 發(fā)表于 02-23 16:01 ?574次閱讀

    output函數(shù)怎么用

    output 函數(shù)是一個通用的術(shù)語,并不特指某個具體的編程語言或軟件工具。 如果你在使用 Python 編程語言,那么可能是指 print 函數(shù)。Python 中的 print
    的頭像 發(fā)表于 02-23 14:21 ?1310次閱讀

    如何使用linux下gdb來調(diào)試python程序

    如何使用linux下gdb來調(diào)試python程序? 在Linux下,可以使用GDB(GNU調(diào)試器)來調(diào)試Python程序。GDB是一個強大的調(diào)試工具,可以幫助開發(fā)者診斷和修復(fù)程序中的錯誤。在本文
    的頭像 發(fā)表于 01-31 10:41 ?2697次閱讀

    python中open函數(shù)的用法詳解

    python中open函數(shù)的用法詳解 Python中的open()函數(shù)用于打開文件。它接受文件名和模式作為參數(shù),并返回一個文件對象。文件對象可用于讀取、寫入和管理文件。 open()
    的頭像 發(fā)表于 01-30 15:31 ?2202次閱讀