python遞迴函式與內建函式知識點

2021-09-07 04:53:09 字數 2389 閱讀 6403

如果乙個函式在內部呼叫自身本身,這個函式就是遞迴函式。

在使用遞迴時,需要注意以下幾點:

(1).自己呼叫自己。

(2).必須有乙個明確的遞迴結束條件,稱為遞迴出口。

例1:使用遞迴函式向控制台列印3,2,1

def func(num):

print(num)

if num ==1:

return

func(num-1)

print(num,'--->')

func(3)

例2:求1-10的乘階

def product(num):

if num==1:

return 1

ret=product(num-1)

return num*ret

num=product(10)

print(num)

例3:通過程式在1-10中查詢數字7

def search_num (number,start,end):

if number==start:

return start

elif number==end:

return end

else:

middle=(start+end)//2

if middle<=number:

return search_num(number,middle,end)

else:

return search_num(number,start,middle)

ret=search_num(7,1,10)

print(ret)

一、abs()函式

求數字的絕對值

ret = abs(-21)

print(ret)#21

二、max()函式

max(iterable, key, default) 求迭代器的最大值,其中iterable 為迭代器,max會for i in … 遍歷一遍這個迭代器,然後將迭代器的每乙個返回值當做引數傳給key=func 中的func(一般用lambda表示式定義) ,然後將func的執行結果傳給key,然後以key為標準進行大小的判斷。

1、簡單使用max() 函式

ret = max(1, 2, 3)

print(ret)#3

2、使用key 關鍵字

key =函式名稱,—>指定求最大值的規則

ret = max(1, 2, -3, key=abs)

print(ret) # -3

3、根據name和price 返回最大的資訊

(1)根據name值進行比較,返回商品資訊

lst = [,,

]def name_func(dic):

return dic['name']

ret = max(lst, key=name_func)

print(ret)

(2)根據 price 值進行比較,返回商品資訊

lst = [,,

]def price_func(dic):

return dic['price']

ret = max(lst, key=price_func)

print(ret)

三、map() 函式

有兩個引數,第乙個引數是乙個函式,第二個引數是可迭代的內容。

函式會依次作用在可迭代內容的每乙個元素上進行計算,然後返回乙個新的可迭代內容。

例:求lst=[1,2,3]中每乙個元素的平方

lst = [1, 2, 3]

def square(num):

num2=num*num

return num2

ret=map(square,lst)

print(list(ret))

四、filter() 函式

filter() 函式用於過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。接收兩個引數,第乙個為函式,第二個為序列,序列的每個元素作為引數傳遞給函式進判,然後返回 true 或 false,最後將返回 true 的元素放到新列表中。

例:過濾出列表中的所有奇數

lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

def odd_number(num):

if num % 2 == 1:

return num

ret = filter(odd_number, lst)

print(list(ret))

python內建函式 匿名函式 遞迴

一 內建函式 內建函式詳解 二 匿名函式 匿名函式就是不需要顯示的指定函式 1 這段 2 def calc n 3 return n n 4 print calc 10 5 6 換成匿名函式 7 calc lambda n n n 8 print calc 10 匿名函式主要用來和其他函式搭配使用 ...

Python基礎08 遞迴函式 內建函式

如果乙個函式在內部呼叫自己本身,這個函式就是遞迴函式。在使用遞迴時,需要注意以下幾點 1 自己呼叫自己 2 必須有乙個明確的遞迴結束條件,稱為遞迴出口。練習1 使用遞迴函式向控制台列印3,2,1 def print num num print num if num 1 return print nu...

python 遞迴函式和內建函式筆記彙總

1 def syz args args 引數組 不必填,不限制引數的個數 引數組不常用 2 def sys2 kwargs 關鍵字引數 3 遞迴函式,不常用 自己呼叫自己 遞迴最多遞迴999,遞迴的效率不高 4 內建函式 print all 1,2,3,4,0 判斷可迭代的物件裡面的值是否都為真 備...