返回函式 匿名函式lambda 偏函式

2021-08-10 06:41:40 字數 866 閱讀 5689

1、函式作為結果值返回

例如:可變引數求和,不會立刻返回求和結果,而是返回求和函式

例如:可變引數求和

def

lazy_sum

(*args):

defsum

():ax =

0for

n in

args:

#返回函式內部引用了lazy_num()函式的引數

ax = ax + n

return

ax

return

sum

>>> f = lazy_sum(1, 3, 5, 7, 9)

>>> f

lazy_sum..sum

at 0x101c6ed90>

呼叫lazy_sum,返回的是求和函式

>>> f()

25

當再次呼叫f時,返回的才是求和結果

上述是在互動式環境打的,要在程式設計環境,可以使用print列印出結果

print(f)#返回的是

lazy_sum..sum

at 0x101c6ed90>

print(f()) #返回的結果是25

2、關鍵字lambda表示匿名函式。

lambda x: x*x   只能有乙個表示式,:左邊的x指引數,不用寫return,返回值就是表示式x*x

匿名函式和定義的函式屬性一樣,都屬於函式,可以賦給變數,通過變數呼叫,也可以作為返回值

3、偏函式

functools.partial 可建立乙個偏函式

返回函式,匿名函式

1.返回函式 求和的函式,可以不返回求和的結果,而是返回求和的函式 def calc sum args def sum ax 0 for n in args ax ax n return ax return sum 2.匿名函式 以map 函式為例,計算f x x2時,除了定義乙個f x 的函式外,...

函式式程式設計之返回函式 匿名函式

1 返回函式 高階函式除了可以接受函式作為引數外,還可以把函式作為結果值返回。每次迴圈,都建立了乙個新函式,呼叫f1,f2,f3結果都為9 原因 返回的函式引用了變數i,三個函式都返回時,所引用的變數i變為了3,所以最終結果為9 返回函式不要引用任何迴圈變數,或者後續會發生變化的變數。如果一定要用迴...

python函式式程式設計(二)返回函式 匿名函式

1.函式作為返回值 高階函式除了可以接受函式作為引數外,還可以把函式作為結果值返回。我們來實現乙個可變引數的求和。通常情況下,求和的函式是這樣定義的 defcalc sum args ax 0 for n in args ax ax n return ax 如果不需要立刻求和,而是在後面的 中,根據...