Python3:对象不会接受参数

卵磷脂

我正在查看有关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该类中函数。此方法效果而定的方式在这里让一个对象被分配参数时初始化。我确定您了解这一点,但是您所犯的简单错误是,它需要2在任何一方都使用下划线才能生效。像这样:__init__那是您的两个代码之间的区别。

class Fibonnacci():
    def _init_(self, a, b):   #<-- the error is here, should be __init__()
        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=' ')

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章