一、递归函数
递归就是子程序(或函数)直接调用自己或通过一系列调用语句间接调用自己,是一种描述问题和解决问题的基本方法。
例如:
1!=1
2!=2x1!
3!=3x2x1=3x2!
4!=4x3x2x1=4x3!
... ... ...
n!=nx(n-1)x(n-2)x...x3x2x1=nx(n-1)!
代码实现:
#阶乘
def jc(n):
if n == 1:
return 1
else:
return n*jc(n-1)
print(jc(1))
print(jc(5))
斐波那契数列使用递归,代码如下:
#斐波那契数列
def fbnq(n):
if n < 2:
return n
else:
return fbnq(n - 1) + fbnq(n - 2)
for i in range(10):
print(fbnq(i),end=' ')
二、匿名函数
定义函数的过程中,没有给定名称的函数就叫做匿名函数;Python中使用lambda表达式来创建匿名函数。
lambda[参数]:表达式
eg:
'''
匿名函数:
lambda[参数]:表达式
'''
#无参数
a=lambda :'MgVccl'
print(a())
#一个参数
b=lambda x:x**2
print(b(5))
#多个参数
c=lambda x,y,z:x+y+z
print(c(1,2,3))
#矢量化的三元运算符
d=lambda x,y:x if x>3 else y
print(d(3,5))