1.定義:函式自己呼叫自己
2.形成條件:
(1)、函式自己呼叫自己
(2)、必須有乙個終止條件
# 已知室內每人相差三歲,第乙個人18歲,求第6個人的年齡。
# 定義函式
deftwo_age
(n=6):
# 判斷是否為第乙個人
if n ==1:
return
18# 求第n個人的年齡,只需要n-1這人的年齡 + 2
# 再次呼叫函式two_age
age = two_age(n -1)
+3# 返回結果
return age
# 呼叫函式
print
(two_age(
))
# 求階乘
# 定義函式
deffunc2
(n):
# 若n=1則直接輸出
if n ==1:
return
1# 想要求n的階乘,只需要n-1的階乘*n
# 再次呼叫函式求n-1值
num = func2(n -1)
* n # 返回n值
return num
# 輸出呼叫函式,帶入n值為5
print
(func2(5)
)
使用 lambda 關鍵字定義的函式就是匿名函式
語法格式:lambda[形參1],[形參2],…:[單行表示式]或[函式呼叫]
1.匿名函式不能使用if語句、while、for迴圈語句,只能編寫單行表示式或普通函式
2.匿名函式不需要使用return,其執行結果就是return
3.匿名函式也可以直接輸出 lambda : print(『hello world』)
# 無參無返回值
# 定義函式
f1 =
lambda
:print
("hello lambda"
)# 呼叫函式
f1()
# 結果:hello lambda
# 無參有返回值
f2 =
lambda:1
+2print
(f2())
# 結果:3
# 有參無返回值
f3 =
lambda name:
print
(name)
f3("python基礎"
)# 結果:python基礎
# 有參有返回值
f4 =
lambda
*args: args
print
(f4(
"asf"
,"asf"
,"age"
))
# 定義函式
defmy_calc
(a, b, func)
:"""
進行四則運算
:param a:第乙個資料
:param b:第二個資料
:param func:函式要進行的運算
:return:運算結果
"""# 返回結果分割符
print
("——————————————————"
)# 呼叫函式add
num = func(a, b)
# 輸出結果
print
(num)
# 定義函式add
defadd
(a, b)
:return a + b
# 呼叫
my_calc(10,
20, add)
# 帶入lambda函式,執行運算
my_calc(10,
20,lambda a, b: a - b)
my_calc(10,
20,lambda a, b: a * b)
my_calc(10,
20,lambda a, b: a / b)
my_calc(10,
20,lambda a, b: a + b **2)
# 結果:
————————————————
30————————————————-10
————————————————
200————————————————
0.5————————————————
410
python筆記6 函式基礎2
接收乙個或多個函式作為輸入 return返回另乙個函式 def add x,y,f return f x f y def get abs n return int str n strip print add 5,10,get abs def calc n print n n int n 2 if n...
筆記 python基礎之內置函式2
reverse 反轉 reverse 反轉的迭代器,能保留原序列 l 1,2,3,4,5 l.reverse print l l 1,2,3,4,5 l2 reversed l print l2 保留原列表,返回乙個反向的迭代器 輸出 5,4,3,2,1 slice 切片規則 l 1,2,23,21...
python入門基礎總結筆記(2) 函式
求絕對值的abs 函式 求最大最小值的max 和min 函式 將其他資料型別轉換為整數的int 函式 在python中,用def語句定義乙個函式,依次寫出函式名 括號 括號中的引數和冒號 編寫乙個求絕對值的例子 def my abs x if x 0 return x else return x其中...