簡化函式的書寫形式,適用於短小的函式
lambda
格式:lambda 引數1,引數2, …: 返回值
def
f(x)
:return x +
1# lambda表示式 便於**的閱讀,精簡**, 功能與f(x) 函式等價
# 格式:lambda 引數1,引數2, ...: 返回值
x =lambda x: x +
1print
(f(1))
print
(x(1
))
sorted
作用:排序
sorted 預設公升序,reverse預設是false
def
sort_test()
: students =[,
,,]# sorted 預設公升序,reverse預設是false
print
(sorted
(students, key=
lambda student: student[
'age'
], reverse=
true))
if __name__ ==
'__main__'
: sort_test(
)
map
會根據提供的函式對指定的序列做對映
map函式的第乙個引數是乙個函式名。如果函式的實現比較簡單的時候,可以用沒有名字的函式 ——lambda
from functools import
reduce
from typing import iterator
defmap_test
(keys:
list
, values:
list)-
> iterator:
return
map(
lambda key, value:
, keys, values)
# map 對映,引數必須一一對應,不然會報錯
deff
(key, value)
:return
deff2
(x, y, z)
:return x + y + z
l1 =[1
,2,3
]l2 =[4
,5,6
]l3 =[7
,8,9
]print
(list
(map
(f2, l1, l2, l3)))
print
(list
(map
(lambda x, y, z: x + y + z, l1, l2, l3)))
defreduce_test()
:# 累加功能 需要了解的屬性和方法,100 從1加到100
print
(reduce
(lambda a, b: a + b,
range(1
,101))
)# 等價寫法
deff3
(a, b)
:return a + b
defzip_test()
: l1 =
['a'
,'b'
,'c'
] l2 =[4
,5,6
]print
(list
(zip
(l1, l2)))
if __name__ ==
'__main__'
: reduce_test(
)print
(reduce
(f3,
range(1
,101))
) zip_test(
)
reduce
作用:累加功能
格式:reduce(function, sequence)
格式:reduce
(function, sequence)
# 累加功能 1,100 從1加到100
defreduce_test()
:print
(reduce
(lambda a, b: a + b,
range(1
,101))
)
把乙個函式當做引數傳進去的函式,就是高階函式
reduce,map,sorted
套娃
import sys
defrecursion_test()
:print
(sys.getrecursionlimit())
# 檢視遞迴的深度
# sys.setrecursionlimit(9)
defstory()
:print
('從前有個廟...'
)return story(
)# 累加功能 需要了解的屬性和方法,100 從1加到100
defdemo
(a):
if a ==10:
return
10return demo(a +1)
+ a'''
課外知識點:棧,堆
棧,先進後出
'''if __name__ ==
'__main__'
:# recursion_test()
print
(demo(1)
)
應用場景:
全域性變數越少越好,區域性變數用完時會被銷毀
裝飾器的設計模式建立在閉包之上
python 匿名函式及其應用
定義lambda函式 sum lambda arg1,arg2 arg1 arg2 呼叫函式 totle sum 3,5 print totle d totle 執行如下 totle 8lambda函式能接收任何數量的引數但只能返回乙個表示式的值 匿名函式不能直接呼叫print,因為lambda需要...
Python 匿名函式及其應用
func 函式的記憶體位址 deffunc x,y return x y print func print lambda x,y x y res lambda x,y x y 1 2 print res func lambda x,y x y res func 1,2 print res 匿名用於臨...
Python的匿名函式
python定義函式格式 def func name pass 定義名字 函式體部分情況下不需要重複呼叫 匿名函式 一次返回值即可 比如 max min sorted usr bin env python coding utf 8 author xp blog url 內建函式 map reduce...