一、函数解释:
def fact(n, m = 1):
s = 1
for j in range(1, n+1):
s = s*j
return n, m, s//m
print(fact(10, 5))
fact就是函数名,n和m是形式参数,m=1是默认参数传递,s=1是变量初始化,该函数默认求阶乘,返回的是一个元组。
输出:
(10, 5, 725760)
二、lambda函数
<函数名> = lambda <参数>: <表达式>
func = lambda x, y: x + y print(func(10, 20))
输出:
30
三、递归函数
注意将基例与递归链条分开。
1. 以下是字符串反转函数:
def reverse_string(_str):
if _str == '':
return _str
else:
return reverse_string(_str[1:]) + _str[0]
result = reverse_string('youloveme')
print(result)
输出:
emevoluoy
2. 斐波那契数列的递归算法:
def fibonacci(number):
if number == 0 or number == 1:
return 1
else:
return fibonacci(number - 1) + fibonacci(number - 2)
print(fibonacci(10))
输出:
89
以上环境,win10,pycharm,python 3.7.4。