码迷,mamicode.com
首页 > 编程语言 > 详细

python语法

时间:2018-07-13 13:26:11      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:多少   小结   编程语言   函数   span   针对   递归函数   尾递归   优点   

递归函数

尾递归调用时,如果做了优化,栈不会增长,因此,无论多少次调用也不会导致栈溢出。

遗憾的是,大多数编程语言没有针对尾递归做优化,Python解释器也没有做优化,所以,即使把上面的fact(n)函数改成尾递归方式,也会导致栈溢出。

小结

使用递归函数的优点是逻辑简单清晰,缺点是过深的调用会导致栈溢出。

针对尾递归优化的语言可以通过尾递归防止栈溢出。尾递归事实上和循环是等价的,没有循环语句的编程语言只能通过尾递归实现循环。

Python标准的解释器没有针对尾递归做优化,任何递归函数都存在栈溢出的问题。

python语法

标签:多少   小结   编程语言   函数   span   针对   递归函数   尾递归   优点   

原文地址:https://www.cnblogs.com/youngzn/p/6511601.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!