解释:python中不能提前执行后续即将定义的函数,但是能在执行过程中调用自己完成函数定义,称之为递归调用。这就为很多函数的定义提供了方便。
例:定义阶乘函数,从键盘输入一个自然数,求该整数阶乘。
代码如下:
def fanc(n):
if n == 0:#0的阶乘都是1
return 1
else:
return (fanc(n-1)*n)#递归调用:return返回上一层函数值,一直往前追溯
x = int(input('输入一个自然数:'))
print(fanc(x))
当然这还不是最方便的,python中早已有了这些常用的函数,无需自己定义:
import math
x = int(input('输入一个自然数:'))
print(math.factorial(x))