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

13-python學習筆記之lambda函數

編輯:Python

文章目錄

  • 前言
    • 什麼是 lambda 函數?
  • 一、為什麼使用 lambda 函數?
  • 總結


前言

以下都是自己的一些學習筆記,可能有寫的不對的地方,還望各位大佬體諒和加以指正。


什麼是 lambda 函數?

lambda 函數是一種小的匿名函數。
lambda 函數可接受任意數量的參數,但只能有一個表達式。

語法

lambda 參數 : 函數體

執行表達式並返回結果:
一個 lambda 函數,它把作為參數傳入的數字加 10,然後打印結果:

x = lambda a : a + 10
print(x(5))

一、為什麼使用 lambda 函數?

lambda 函數可接受任意數量的參數:
一個 lambda 函數,它把參數 a 與參數 b 相乘並打印結果:

x = lambda a, b : a * b
print(x(5, 6))

一個 lambda 函數,它把參數 a、b 和 c 相加並打印結果:

x = lambda a, b, c : a + b + c
print(x(5, 6, 2))

當我們把 lambda 用作另一個函數內的匿名函數時,會更好地展現 lambda 的強大能力。
假設我們有一個帶一個參數的函數定義,並且該參數將乘以未知數字:

def myfunc(n):
return lambda a : a * n

使用該函數定義來創建一個總是使所發送數字加倍的函數:

def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(11))

或者,使用相同的函數定義來創建一個總是使我們發送的數字增加三倍的函數:

def myfunc(n):
return lambda a : a * n
mytripler = myfunc(3)
print(mytripler(11))

或者,在同一程序中使用相同的函數定義來生成兩個函數:

def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(11))
print(mytripler(11))

如果在短時間內需要匿名函數,請使用 lambda 函數。


總結

lambda 函數可以使我們的代碼變的更加精簡,並且某一些簡單函數可以直接使用 lambda 函數實現。


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