python早期沒有匿名函式,但後來出現了lambda表示式,python用lambda表示式充當匿名函式
用法:lambda [引數1,引數2,···]:**(只能有一行**)
# 可寫函式說明
sum=
lambda arg1, arg2: arg1 + arg2 #lambda對結果預設return
# 呼叫sum函式
print
("相加後的值為 : "
,sum(10
,20))
print
("相加後的值為 : "
,sum(20
,20))
執行結果
相加後的值為 : 30
相加後的值為 : 40
需要functools模組,使用其中的partial()函式可以將已有的函式換個預設值賦給其他變數,讓這個變數成為乙個偏函式
使用方法:
#方法一
>>> import functools
>>> int_16 = functools.partial(int, base = 16) #int預設有兩個引數 int(x, base = 10),把字串當成10進製
>>> int_16('123afd') #把字串當成16進製制,然後轉成10進製輸出
1194749
#方法二
>>> from functools import partial
>>> int_16 = partial(int, base = 16)
>>> int_16('abcdef')
11259375
每個變數都存放在棧裡,變數只儲存乙個位址指向堆。
當乙個變數作為函式時,在帶括號時表示呼叫函式,在不帶括號時,表示位址。
def
a(fn)
:return fn(
)defb(
):return4*
4defc(
):return
"hello"
d = a(b)
e = a(c)
print
(d,e)
結果
16 hello
Python 之匿名函式和偏函式
python允許使用lambda關鍵字創造匿名函式,lambda表示式用於定義匿名函式,它返回可呼叫的函式物件,語法如下 lambda arg1,arg2,expression 例如 add lambda a,b 2 a b print add 3 5print add 3,10 13 匿名函式具有...
Python 之匿名函式和偏函式
python允許使用lambda關鍵字創造匿名函式,lambda表示式用於定義匿名函式,它返回可呼叫的函式物件,語法如下 lambda arg1,arg2,expression 例如 add lambda a,b 2 a b print add 3 5print add 3,10 13 匿名函式具有...
python 偏函式 python 偏函式
functools.partial可以設定預設引數和關鍵字引數的預設值 python的functools模組提供了很多有用的功能,其中乙個就是偏函式 partial function 要注意,這裡的偏函式和數學意義上的偏函式不一樣。在介紹函式引數的時候,我們講到,通過設定引數的預設值,可以降低函式呼...