元组拆包就是将元组中的元素分别赋给变量。利用Python的元组拆包技巧可给出斐波那契函数的一个性能更高的实现(如下图)。
在本例中,语句“ last ,next=next,last+next”实现将last的值更新为next的值,而将next的值更新为“last+next”的值,就是一个元组拆包。使用拆包技巧,计算fib_4()只需循环n-1次!
6.斐波那契数列生成器-循环结构
到目前为止,所写的函数只能产生特定位置上的斐波那契数的值,如果要一次性将到某个值为止的整个斐波那契数列都输出,可以使用一个简单循环(如下图)。
7.寻找更多优化策略
教师可以引导学生继续进行拓展练习,如探索斐波那契数列利用矩阵非递归化优化,也可以探索斐波那契数列与黄金分割的关系,或者使用动态规划优化函数fib _up_to()等,提升学生学习兴趣,培养精益求精探索的创新精神。