Python之尾调用

1、尾调用的关键
就是在于是在函数的最后一步去调用别的函数,最后一步调用,有什么好处呢?
根据函数即“变量”的定义,定义a函数,a内调用b,b内调用c,在内存中会形成一个调用记录,又称“调用帧",用于保存调用位置和内部变量等信息,即a->b->c,直到c返回给b,c的调用记录才会消失,b返回给a,b的调用记录才会消失,a返回结果,a的调用记录才会消失,所有的调用结果都是”先进后出“,形成了一个”调用栈“

2、尾调用实例

(1)尾调用

def bar(n):
	return n
def foo(m)
	y=bar(m)
	return y

(2)非尾调用

def Bar(n):
	return n
def foo(m):
	return bar(m)+1

注意:函数的最后一步不一定是最后一行,例如if else函数

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章