python返回 python 返回函式

2021-10-19 03:50:30 字數 1262 閱讀 2541

返回函式

1.  高階函式除了能夠接收函式作為引數外,還能把函式作為結果返回

2.  例如乙個求和函式,通常情況下的定義以及呼叫:

>>> def sum(*nums):

x=0for n in nums:

x=x+n

return x

>>> sum(1,2,3,4,5)

不返回求和的結果,而是返回求和的函式:

>>> def sum_1(*nums):

def sum_2():

x=0for n in nums:

x=x+n

return x

return sum_2

>>> s=sum_1(1,2,3,4,5)

>>> s#呼叫 sum_1時,返回的是求和函式,而不是求和結果

.sum_2 at 0x000001d998d0c790>

>>> s()#呼叫函式s時,返回的是求和結果

要注意:當呼叫 sum_1 時,即使傳入相同的引數,每次呼叫都會返回乙個新的函式

>>> s1=sum_1(1,2,3)

>>> s2=sum_1(1,2,3)

>>> s1==s2

false

>>> s1()

>>> s2()

3.  閉包函式是能夠讀取其他函式內部變數的函式

例如:>>> def count():

fs=for i in range(1,4):

def f():

return i*i

return fs

>>> f1,f2,f3 = count()

>>> f1()

>>> f2()

>>> f3()

在count函式中,函式 f() 讀取了count函式內部的變數 i ,因此可以把函式 f()看作是閉包函式

但是,每次迴圈,都會建立乙個新的函式,建立後不會立即執行,而是等到迴圈結束後才返回,此時i變成了3,所以結果都是9

要注意:返回函式不要引用任何迴圈變數,或者後續會發生變化的變數

再建立乙個函式:

>>> def count():

def f(j):

def g():

return j*j

return g

fs=for i in range(1,4):

return fs

>>> f1,f2,f3=count()

>>> f1()

>>> f2()

>>> f3()

Python高階篇 python之函式的返回值

返回值簡介 指定返回值與隱含返回值 指定 return 返回值函式舉例 defshowplus x print x returnx 1 num showplus 6 add num 2 print add 輸出結果 隱含 return none 舉例 defshowplus x print x nu...

python返回方法 python 之返回函式

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

python返回函式 python中返回函式

python的函式不但可以返回int str list dict等資料型別,還可以返回函式!例如,定義乙個函式 f 我們讓它返回乙個函式 g,可以這樣寫 deff print call f 定義函式g defg print call g 返回函式g return g 仔細觀察上面的函式定義,我們在函...