1.递数归函
递归函数指的是:自己调用自己的函数,在函数体内部直接或间接的自己调用自己。递归类似于大家中学数学学习过的“数学归纳法”。 每个递归函数必须包含两个部分:
1.终止条件
表示递归什么时候结束。一般用于返回值,不再调用自己。
2.递归步骤
把第 n 步的值和第 n-1 步相关联。
def test_01(n):
if n==1:return 1
else:
return n*test_01(n-1)
b = test_01(9)
print(b)
2.嵌套函数(内部函数)
嵌套函数:内部函数的调用在内部
def test_01(a,b):
print(a+b)
def test_02(c,d):
print(c*d)
test_02(2,3) #调用在test_01内部
test_01(1,2)
在函数内部定义的函数!
1.封装 - 数据隐藏 外部无法访问“嵌套函数”。
2.避免重复代码。
3.闭包
def score_01(isEnlish,score,xueke):
def inner_print(a,b):
print("{0},{1}".format(a,b))
if isEnlish:
inner_print(score,xueke)
else:
inner_print(score,xueke)
score_01(True,"80","enlish")
score_01(False,"100","PE")