This question already has an answer here:
Python error TypeError: __init__() takes exactly 2 arguments (1 given)
(1个答案)
2年前关闭。
我有一个称为收银员的基类和一个称为Trainee的继承类。我正在尝试覆盖见习类中称为serviceTime的变量。我提出了以下内容。但是,当我执行此操作时,我得到:
即使我在基类中使用了
(1个答案)
2年前关闭。
我有一个称为收银员的基类和一个称为Trainee的继承类。我正在尝试覆盖见习类中称为serviceTime的变量。我提出了以下内容。但是,当我执行此操作时,我得到:
TypeError: __init__() takes exactly 2 arguments (1 given)
即使我在基类中使用了
object
。有人可以解释我发生了什么吗?class Cashier(object):
def __init__(self, cashierNumber):
self.cashierNumber = cashierNumber
self.serviceTime = 1
class Trainee(Cashier):
def __init__(self, cashierNumber):
super(Trainee, self).__init__()
self.serviceTime = 2
最佳答案
您应该将参数传递给父类的构造函数:
class Trainee(Cashier):
def __init__(self, cashierNumber):
super(Trainee, self).__init__(cashierNumber)
self.serviceTime = 2
关于python - 重写继承的类中的基本变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46734961/
10-12 18:11