Python 匿名函式和遞迴函式的簡單認識

2021-10-03 12:35:17 字數 1078 閱讀 5050

python有兩類特殊的函式:匿名函式和遞迴函式。匿名函式是指沒有函式名的簡單函式,只可以包含乙個簡單函式,不允許包含其他複雜的語句。表示式的結果是函式的返回值。遞迴函式是指直接或間接呼叫函式本身的函式。

一,匿名函式

1.匿名函式的定義

匿名函式也稱為lambda函式,定義格式為:lambda [引數1[,引數2,……,引數n]]:表示式

例如:lambda x,y:x+y

匿名函式的呼叫

匿名函式也是乙個函式物件,也可以把匿名函式賦值給乙個變數,再利用變數來呼叫該函式。

例如:>>> f=lambda x,y:x+y

>>> f(5,10)

153.把匿名函式作為函式的返回值,也可以把匿名函式作為普通函式的返回值返回。

例如:def f():

return lambda x,y:x*x+y*y

fx=f()

print(fx(3,4))

輸出結果如下:

254.匿名函式作為序列或字典的元素,可以將匿名函式作為序列或字典的元素,以列表為例,一般格式為:

列表名=[匿名函式1,匿名函式2,……,匿名函式n]

這時可以以序列或字典元素引用作為函式名來呼叫匿名函式,一般格式為:

列表或字典元素引用(匿名函式實參)

例如:>>> f=[lambda x,y:x+y,lambda x,y:x-y]

>>> print(f[0](3,5),f[1](3,5))

8 -2

>>> f=

>>> f['a'](3,4)

7>>> f['b'](3,4)

-1二,遞迴函式

1.遞迴的基本概念

遞迴函式是指乙個函式的函式體中又直接或間接地呼叫該函式本身的函式。

例如: 求n!的遞迴函式。

def fac(n):

if n<=1:

return 1

else:

return n*fac(n-1)

m=fac(3)

print(m)

輸出結果如下:

6

python遞迴函式和匿名函式

乙個函式的內部可以呼叫其他函式。但是,如果乙個函式在內部不呼叫其他函式,而是自己本身的話,這個函式就是遞迴函式。例 def fn num if num 1 result 1else result fn num 1 num return result n int input 請輸入乙個正整數 prin...

python匿名函式和遞迴函式

匿名函式格式 lambda 引數 運算 例子 hello lambda a,b a b 匿名函式一半結合內建函式使用 max list,func func匿名函式比如 列表裡面元素是字典 就是可以 list,lambda x x 鍵 min 和max幾乎一樣 map func iterables 對...

python匿名函式和遞迴

命名空間 內建命名空間 python直譯器一啟動就可以使用的名字儲存在內建命名空間 在啟動器啟動時被載入進記憶體裡 全域性命名空間 程式從上到下被執行的過程中一次載入進記憶體 放置了我們所有設定的變數名和函式名 區域性命名空間 函式內部定義的名字 當函式呼叫時,才會產生這個命名空間,隨著函式執行的結...