本文介绍了Python 3.5,斐波数列, a,b = 0,1的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
class Fib(object):
def __getitem__(self, n): a, b = 0, 1 for x in range(n): a, b = b, a + b return af = Fib()f[0] = 0
不解为什么是f[0] = 0
函数是不是直接执行Return 再回到循环体?
初学者还有很多不懂,请多指教,谢谢
解决方案在用下标取值符[]的时候,程序会去访问对象的__getitem__函数。
f[0] 相当于 f.__getitem__(self, 0) ,n赋值为0
a = 0, b = 1 for x in range(0): # 这里range(0) 直接跳过 a, b = b, a + b return a # a = 0所以f[0] = 0。
不知道怎么回事,就一步一步调试,查文档。
更多推荐
Python 3.5,斐波数列, a,b = 0,1
发布评论