class Fib(object): def __init__(self, num): self.num=num self.fibo=[0,1]#这里有个疑问,属性中没有fibo,怎么可以直接定义???而且不定义self.fibo而是定义L之类的就不行,总之要加上self.这是为什么????? for i in range(num-2): self.fibo.append(self.fibo[-2]+self.fibo[-1]) #def结束,这里为什么没有return???? def __str__(self): return str(self.fibo) def __len__(self): return len(self.fibo) f = Fib(10) print f print len(f)
self.fibo=[0,1]#这里有个疑问,属性中没有fibo,怎么可以直接定义???而且不定义self.fibo而是定义L之类的就不行,总之要加上self.这是为什么?????
class Fib(object): def __call__(self,num): L=[0,1] for i in range(num-2): L.append(L[-2]+L[-1]) return L #可是在__call__这里,又可以直接用L,这到底怎么回事,真希望大神帮我详细解答一下,我现在很糊!! f = Fib() print f(10)
孤独的小猪
asd8532
相关分类