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函數

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