【发布时间】:2012-04-08 01:43:33
【问题描述】:
我对如何在 Python 中的子类和超类之间传递参数感到有些困惑。考虑以下类结构:
class Superclass(object):
def __init__(self, arg1, arg2, arg3):
#Inilitize some variables
#Call some methods
class Subclass(Superclass):
def __init__(self):
super(Subclass, self).__init__()
#Call a subclass only method
我遇到的麻烦是理解超类和子类之间如何传递参数。是否有必要在子类初始化程序中重新列出所有超类参数?在哪里指定新的、仅限子类的参数?当我尝试使用上面的代码来实例化一个子类时,它只需要 1 个参数,而不是我列出的原始 4(包括 self)。
TypeError: __init__() takes exactly 1 argument (4 given)
【问题讨论】:
-
请注意,
takes exactly 1 argument可能会造成混淆,因为该参数是self(自动传递)。
标签: python inheritance