This question already has an answer here:
Python error TypeError: __init__() takes exactly 2 arguments (1 given)
                                
                                    (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