python匿名函式的介紹及用途
阿新 • • 發佈:2019-08-18
匿名函式
用lambda能夠建立一個匿名函式,這中函式得名於省略了用def宣告函式的標準步驟。
語法
lambda [arg1 [,arg2,.....argn]]:expression
如何使用
- 我們正常定義一個函式時是這樣的
def add(a,b):
return a+b
- 使用lambda定義匿名函式是這樣的
add = lambda a,b:a+b # 和上面函式功能一樣
按正常的呼叫方式即可。lambda表示式能夠接收任何數量的引數但只能返回一個表示式的值。
用途
1.就像上文所述能後夠簡化程式碼
2.匿名函式作為引數傳遞
- 作為自定義函式的引數傳遞
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 """
- 作為內建函式的引數傳遞
例如:將列表中的字典按照指定的關鍵字進行排序
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}
"""