TypeError:object .__ new __()在使用生成器时不带参数

时间:2013-04-08 13:06:13

标签: python-3.x

我是python中的新手。我需要打印从1到100的所有数字。当我运行此代码时,我收到此错误

Traceback (most recent call last):
File "C:\Eclipse\workspace\firstpython\src\oopsegmant.py", line 14, in <module>
 p = Prime(1)
TypeError: object.__new__() takes no parameters

程序就像这样

class Prime():
    def _init_(self,i):
        self.i=i

def print_value(self):          
    while(True):
        yield(self.i)
        self.i+=self.i
p = Prime(1)
for numb in p.print_value():
    if(numb>100):
       break
    print(numb)

1 个答案:

答案 0 :(得分:1)

_init_应拼写为双下划线,__init__

所有特殊方法名称都用双下划线括起来。

print_value方法也应该在class下缩进,以便成为其中的一部分。