程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python Lambda函數用法詳解】

編輯:Python

Python lambda() 函數能夠簡化程序,我們可以將 lambda 表達式視為一種函數的簡化書寫方式,它可以根據輸入的值確定輸出的值。

通常 Python 定義函數時需要給定函數名稱,但是 lambda 並不需要函數名,所以我們稱 lambda 是一種匿名函數的表達式寫法。其語法如下。

lambda 參數列表, … : 表達式其中表達式之前的冒號“:”不能省略,並且不能使用 return 語句。例如,將數學函數 f(x)=3x-1 寫成 lambda 表達式,Python代碼如下:

result = lambda x : 3*x-1 #lambda()函數
print(result(3)) #輸出數值8

也就是說“:”左邊是參數,右邊是表達式或程序塊。就本例而言,“:”右邊是表達式 3*x-1,左邊參數的個數是 1。

那麼 Python自定義函數與 lambda() 函數有什麼不同呢?下面以一個簡單的例子加以說明,Python代碼如下:

def formula(x, y): #自定義函數
return 3*x+2*y
formula = lambda x, y : 3*x+2*y #表示lambda有兩個參數
print(formula (5,10)) #傳入兩個數值讓lambda()函數做運算,輸出數值35

上面的程序代碼中分別使用了自定義函數及 lambda() 函數兩種方式,我們可以觀察到自定義函數與 lambda() 函數有以下區別:

  • 自定義函數的函數體可以有多行語句,但是 lambda() 函數只能有一行表達式。
  • 自定義函數有名稱,但 lambda() 函數無名稱,lambda() 函數必須指定一個變量來存儲運算結果。
  • 自定義函數的結果以 return 語句返回,lambda() 函數將結果賦給指定的變量。
  • lambda() 函數必須以變量名(如上例中的 formula 變量)來調用,依其定義傳入參數。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved