class Fib(object):
def __getitem__(self, n):
a, b = 0, 1
for x in range(n):
a, b = b, a + b
return a
f = Fib()
f[0] = 0
不解为什么是f[0] = 0
函数是不是直接执行Return 再回到循环体?
初学者还有很多不懂,请多指教,谢谢
迷茫2017-04-18 10:27:31
아래 첨자 값 연산자 []
를 사용하면 프로그램은 개체의 __getitem__
함수에 액세스합니다.
f[0]
은 f.__getitem__(self, 0)
과 동일하며, n
에는 0
그래서 f[0] = 0
.
무슨 일이 일어나고 있는지 모르기 때문에 단계별로 디버깅하고 문서를 확인합니다.