【发布时间】:2022-06-21 07:08:53
【问题描述】:
这是一个人工规范副本,专门用于防止新 Python 程序员编写的代码中两个最常见的印刷错误。虽然由拼写错误引起的问题通常会因此而关闭,但在这种情况下有一些有用的东西需要解释,并且有一个重复的目标可以更快地关闭问题。我尝试将问题设计为易于搜索。
如果您的问题与此重复,那是因为您有一个代码示例,其中包含以下内容:
class Example:
def __int__(self, parameter):
self.attribute = parameter
或:
class Example:
def _init_(self, parameter):
self.attribute = parameter
当您随后尝试创建该类的实例时,会发生错误:
>>> Example("an argument")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Example() takes no arguments
这是因为代码有一个简单的拼写错误:该方法应该命名为__init__ - 注意拼写,注意上面有两个下划线每一边。
您可能还想知道:异常消息是什么意思,它与问题有何关系?为什么没有更早出现问题,例如,类定义本身?问题还可能如何表现?以后如何防范这个问题?
【问题讨论】:
-
我投票结束这个问题,因为它不是为了征求更多答案,而只是为了提供有关常见错字的权威信息,以便金徽章持有者可以快速结束问题并提供参考在适当的情况下。
-
出于同样的原因,我投票结束这个问题。
标签: python class initialization typeerror magic-methods