python匿名函數的介紹及用途


匿名函數

用lambda能夠創建一個匿名函數,這種函數得名於省略了用def聲明函數的標准步驟。

語法

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

如何使用

  1. 我們正常定義一個函數時是這樣的
def add(a,b):
	return a+b
  1. 使用lambda定義匿名函數是這樣的
add = lambda a,b:a+b # 和上面函數功能一樣

按正常的調用方式即可。lambda表達式能夠接收任何數量的參數但只能返回一個表達式的值。

用途

1.就像上文所述能后夠簡化代碼

2.匿名函數作為參數傳遞

  1. 作為自定義函數的參數傳遞
def test(a, b, func):
    result = func(a, b)
    print(result)


func_new = input("請輸入一個匿名函數:")
# eval()將字符串str當成有效的表達式來求值並返回計算結果。
func_new = eval(func_new)

test(11, 22, func_new)

"""
輸出結果:
請輸入一個匿名函數:lambda a,b:a+b
33
"""
  1. 作為內置函數的參數傳遞
    例如:將列表中的字典按照指定的關鍵字進行排序
stus = [
    {"name":"zhangsan", "age":18}, 
    {"name":"lisi", "age":19}, 
    {"name":"wangwu", "age":17}
]
stus.sort(key = lambda x:x['age'])

for stu in stus:
	print(stu)

"""
輸出結果:
{'name': 'wangwu', 'age': 17}
{'name': 'zhangsan', 'age': 18}
{'name': 'lisi', 'age': 19}
"""


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM