函数递归和匿名函数

三元表达式:

判断条件+条件成立的结果+条件不成立的结果

 

函数递归:

函数的递归调用,即在函数调用的过程中,又直接或者间接调用了函数本身

例:

直接调用
def foo():
print('from foo')
foo()

foo()

间接调用
def bar():
print('from bar')
foo()

def foo():
print('from foo')
bar()

foo()

递归分为两个阶段:1,回溯:一定要在满足某种条件结束回溯,否则会无限递归
2,递推
例:
def age(n):
if n == 1:
return 18
return age(n-1)+2 #age(4)+2

age(5)

 

注意:1,递归一定要有一个明确的结束条件
2,每进入下一次递归,问题的规模都应该减少
3,在python中没有尾递归优化

 

匿名函数
匿名函数就是没有函数名的函数,它的应用场景是该函数只使用一次

强调:
1,匿名的目的就是要没有名字,为匿名函数附上函数名是没有意义的事情
2,匿名函数的参数规则,作用域关系与有名函数是一样的
3,匿名函数的函数体通常应该是一种表达式,该表达式必须有一个返回值

posted @ 2018-04-03 17:00  鲁之敬  阅读(69)  评论(0编辑  收藏  举报