Python學習第40課-Lambda表達式創建匿名函數

2021-01-12 石問新

【每天幾分鐘,從零入門python編程的世界!】

之前我們學習了使用def關鍵字來創建自定義函數,這種方式創建的函數都是有函數名的,我們也可以創建沒有函數名的函數,這種函數叫做匿名函數。Python中可以使用Lambda表達式來創建匿名函數。

lambda表達式用來創建匿名函數,那麼我們也可以把lambda表達式叫做lambda函數。

●Lambda函數的特點

lambda函數只需要寫一行代碼,函數體比用def定義的函數體簡單。

lambda函數有自己的命名空間,且不能訪問自己命名空間之外或全局命名空間裡的參數。

●何時使用Lambda表達式

lambda的主體是一個表達式,而不是代碼塊。

因此當我們需要封裝的邏輯比較有限的時候,此時使用lambda表達式定義函數比使用def定義函數代碼更加簡潔。

●Lambda函數的語法

lambda [arg1[,arg2,......argn]]:expression

即lambda 參數1,參數2,......,參數n: 表達式

●Lambda函數的使用

我們把lambda函數賦給一個變量,使用該變量來調用lambda函數。

實例:

#創建lambda函數

multiply=lambda arg1,arg2: arg1*arg2

#調用lambda函數

multiply(10,20)

運行結果:200

tips:lambda函數中的參數可以使用任意字母,只要和冒號後面的表達式一致即可。比如上面實例中lambda函數也可以這樣寫:

multiply=lambda x,y: x*y

我是時問新,歡迎關注我。跟我一起從零開始學習Python,每天花一點時間,開啟python編程新世界的大門,領略新的風光,讓人生多一種可能!

相關焦點

  • Python匿名函數:Lambda表達式
    我們以一張圖形進入主題:從圖中我們可以看出lambda表達式幾點特徵:簡潔性,符合了Python的一貫宗旨;起到了函數的作用,但未顯示函數名稱,這就是匿名函數;>print(psum(10,40,50)) # 驗證執行效果【結論】lambda實現了函數的效果。
  • Python每天一分鐘:lambda表達式 (匿名函數)及用法詳解
    lambda表達式,又稱匿名函數,是現代各種程式語言爭相引入的一種語法,其功能堪比函數,設計卻比函數簡潔。lambda 表達式的本質是匿名的、單行函數體的函數,故lambda 表達式可以寫成函數的形式。
  • python入門基礎之lambda匿名函數詳解
    python入門基礎之lambda匿名函數詳解剛開始學習python的時候很多人可能對於lambda函數不了解,感覺和def很混亂,下面我來介紹一下lambda函數我從一下幾個方面來介紹lambda:>第一行是lambda聲明,x,y相當於傳入的參數,整個函數會返回x+y的值。
  • Python的一行代碼有何魅力?lambda匿名函數都自嘆不如
    其中,一行代碼編寫與lambda表達式是最具代表性的方法,下面分別來介紹一行代碼編寫和lambda表達式的代碼之美。一行代碼我們都知道,創建列表的方式有多種,比如直接定義、使用list()函數轉換、使用for循環迭代輸出等等。
  • 雲計算開發學習筆記:Python3匿名函數
    來源:TechWeb.com.cnpython 使用 lambda 來創建匿名函數。所謂匿名,意即不再使用 def 語句這樣標準的形式定義一個函數。lambda 只是一個表達式,函數體比 def 簡單很多。lambda的主體是一個表達式,而不是一個代碼塊。僅僅能在lambda表達式中封裝有限的邏輯進去。lambda 函數擁有自己的命名空間,且不能訪問自己參數列表之外或全局命名空間裡的參數。
  • Lambda表達式在Python事件中的運用
    本篇筆記內容:Lambda表達式詳解Lambda表達式在事件中的應用【1】Lambda表達式詳解lambda 表達式定義的是一個匿名函數,只適合簡單輸入參數,簡單計算返回結果,不適合功能複雜情況。lambda 定義的匿名函數也有輸入、也有輸出,只是沒有名字。語法格式如下:lambda 參數值列表:表達式其中,參數值列表即為輸入,表達式計算的結構即為輸出。看一個案例:求三個數的和。
  • 「數據清洗」lambda表達式配合使用的四種函數
    標籤:數據清洗、pythonlambda表達式配合使用的四種函數一、什麼是lambda表達式基本特性使用方法filter函數map函數sorted函數reduce函數總結什麼是lambda表達式>lambda 表達式是一個匿名函數,lambda表達式基於數學中的λ演算得名,直接對應於其中的lambda抽象,是一個匿名函數,即沒有函數名的函數。
  • Python中的Lambda表達式
    Lambda表達式當我們需要做一些簡單的事情並且更希望快速完成工作而不是正式命名函數時,Lambda表達式是理想的選擇。Lambda表達式也稱為匿名函數。Python中的Lambda表達式是聲明小型匿名函數的一種簡短方式(沒有必要為Lambda函數提供名稱)。
  • Java8 lambda表達式
    在該例子中,我們創建了一個對象實現了ActionListener接口,該接口只有一個方法actionPerformed(),當用戶點擊了按鈕之後,這個方法會被調用,該匿名內部類提供了該方法的實現。③包含了一個代碼塊,包含在一個大括號中,代碼塊同平常的方法類似,在結束之前可以返回結果或者拋出異常,④包含了多個參數,這種情況下有必要考慮如何閱讀這條表達式,這行代碼沒有相加兩個數,它創建了一個函數相加兩個數,add這個變量並不是兩個數的和,而是一個相加兩個數的函數。
  • Python小白學習記錄-匿名函數lambda
    匿名函數就是不需要通過def定義及顯示地指定函數名的函數匿名函數的特性(1)匿名函數只能有一個表達式,不用寫return,返回值就是該表達式的結果。(2)匿名函數沒有名字,不必擔心函數名衝突。(3)匿名函數也是一個函數對象,可以把匿名函數賦值給一個變量,再利用變量來調用該函數。(4)有些函數在代碼中只用一次,而且函數體比較簡單,不需要賦值給變量,直接調用可以減少代碼量,看起來比較」優雅「。
  • Java8 lambda表達式語法
    簡單點說就是:一個不用被綁定到一個標識符上,並且可能被調用的函數。這個解釋還不夠通俗,lambda表達式可以這樣定義(不精確,自己的理解):一段帶有輸入參數的可執行語句塊。這樣就比較好理解了吧?一例勝千言。有讀者反饋:不理解Stream的含義,所以這裡先提供一個沒用stream的lambda表達式的例子。
  • 大家都在說的「Lambda 表達式」到底是什麼?
    01定義Lambda表達式也被稱為箭頭函數,匿名函數,閉包Lambda表達式體現的是輕量級函數式編程思想『->』符號式Lambda表達式核心操作符號,符號左側是操作參數,符號右側是操作表達式1、在定義中有一個比較重要的詞就是「函數式編程」現在「
  • 三種基本用法、五種應用場景,理清C++11新特性:Lambda表達式
    lambda表達式是指能夠捕獲作用域中的變量的無名函數對象,狹義的理解,就是匿名函數。無論是在項目中,還是在開源網站,總是能夠看到lambda的身影。為了能夠輕鬆閱讀代碼,進而熟練地使用,本文首先將講解lambda表達式的基本語法、三種基本用法,然後介紹五種實際的應用場景,最有總結說明lambda表達式的作用。
  • python入門教程NO.8 用python寫個存款利息計算器
    本文涉及的python基礎語法為def函數,return,函數的各參數示例,匿名函數等函數初識函數是一段組織好的\ 可重複使用的\ 用來實現特定功能的代碼塊。Python 中的函數以英文冒號開始,並且需要縮進,以表示接下來是函數內部的代碼了a = a + x和return a為函數的函數體,這部分就是函數的功能實現和輸出返回值的地方return [表達式]結束函數,並將a的值返回給調用方。不帶表達式的return相當於返回 None我們通過一個案例來理解一下在上面的例子中,我們講到了形參和實參,那麼具體該如何區分它們呢?
  • Python3中的匿名函數
    匿名函數即無名函數,其形式為:lambda 參數1,參數2:表達式,其中參數1,參數2為傳遞的參數,表達式計算出的結果為返回的值。# 普通函數def add1(x,y): return x+y print(add1(10,20)) # 匿名函數(lambda)add2 = lambda x,y:x+y # x,y 是參數,x+y的結果是函數的返回值print(add2(10,20))lambda是一個表達式,而不是語句,不是一個代碼塊。
  • Python面試題推薦:什麼是lambda函數?
    陝西優就業小編今天送上一盤Python面試題,大家來學習下吧!別忘了自己整理相關Python知識,祝大家面試順利!Python允許你定義一種單行的小函數。定義lambda函數的形式如下:labmda 參數:表達式lambda函數默認返回表達式的值。你也可以將其賦值給一個變量。
  • Python零基礎入門教程,如何使用lambda、filter和map函數?
    大綱函數類型定義及特性lambda函數定義及使用filter函數定義及使用map函數定義及使用引入函數類型概念函數類型定義:python中任意一個函數都有數據類型,這種數據類型是function(函數類型)
  • Python基礎教程(一) - 函數和函數式編程
    前面使用過很多print()來進行列印,這是python提供的內建函數,你也可以自己創建函數,這叫做用戶自定義函數。創建函數你可以定義一個由自己想要功能的函數,用def語句來創建,標題行由def關鍵字,函數的名字,以及參數的集合(如果有的話)組成。
  • 寫Python 代碼不可不知的函數式編程技術
    嵌套函數函數還可以在其他函數內部,這就是「內部函數」。內部函數在創建輔助函數時非常有用,輔助函數即作為子模塊來支持主函數的小型可重用函數。在問題需要特定函數定義(參數類型或順序)時,我們可以使用輔助函數。
  • python高階函數:map、filter、reduce的替代品
    什麼是高階函數?高階函數是一種將函數作為參數,或者把函數作為結果返回的函數,map函數、sorted函數就是高階函數的典型例子。map函數在小編以前的文章中做過相應的知識分享。sorted函數是python的內置函數,它的可選參數key用於提供一個函數,它可以將函數應用到各個元素上進行排序。