我正在查看Lynda上的一段视频,有时我自己输入代码,而不是运行提供的代码。你知道吗
教练的代码行得通,但我的代码不行
它返回"object does not take parameters"
。你知道吗
我的在上面,他的在下面。你知道吗
有人能解释一下吗?你知道吗
class Fibonnacci():
def _init_(self, a, b):
self.a = a
self.b = b
def series(self):
while(True):
yield(self.b)
self.a, self.b = self.b, self.a + self.b
f = Fibonnacci(0, 1)
for r in f.series():
if r > 100: break
print(r, end=' ')
class Fibonacci():
def __init__(self, a, b):
self.a = a
self.b = b
def series(self):
while(True):
yield(self.b)
self.a, self.b = self.b, self.a + self.b
f = Fibonacci(0, 1)
for r in f.series():
if r > 100: break
print(r, end=' ')
原因是类中的
init
函数。此方法的工作方式如here所示,允许在初始化时为对象分配参数。我相信您理解这一点,但您犯的一个简单错误是,它需要在两边加2
下划线才能生效。像这样:__init__
。这就是你们两个代码的区别。你知道吗相关问题 更多 >
编程相关推荐