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 如果不需要立刻求和,而是在後面的 中,根據...