为什么init需要两个参数?

时间:2013-04-26 12:46:34

标签: python python-3.x

我可能在这里遗漏了一些明显的东西。使用以下代码:

class Thing():
    def __init__(self, name):
        self.name = name

that = Thing()

我收到错误'init需要两个参数'。我认为'self'是其中一个参数,当我尝试通过将名称放在括号内来实例化对象时,我会得到其他错误。

1 个答案:

答案 0 :(得分:5)

是的,您的__init__有两个参数:selfname。当您致电Thing()时,self会被隐式传递,但您仍然需要明确传递第二个,例如Thing("name")。如果你在做这件事时仍然遇到错误,那就是另一回事了。您也应该发布该错误。

(我怀疑错误说“init需要两个参数”。包含实际的错误信息会更有帮助...)