Python 为什么下面的代码会导致错误?

Python 为什么下面的代码会导致错误?,python,Python,它适用于Employee和calculate\u wage,但在尝试创建PartTimeEmployee的实例并调用PartTimeEmployee的父类的calculate\u wage方法时返回错误 class Employee(object): """Models real-life employees!""" def __init__(self, employee_name): self.employee_name = employee_name

它适用于
Employee
calculate\u wage
,但在尝试创建
PartTimeEmployee
的实例并调用
PartTimeEmployee
的父类的
calculate\u wage
方法时返回错误

class Employee(object):
     """Models real-life employees!"""
     def __init__(self, employee_name):
         self.employee_name = employee_name

     def calculate_wage(self, hours):
         self.hours = hours
         return hours * 20.00

 class PartTimeEmployee(Employee):
     def __init__(self, employee_name):
         self.employee_name = employee_name
     def calculate_wage(self, hours):
         self.hours = hours
         return hours * 12.00
     def full_time_wage(self, hours):
         return super(PartTimeEmployee, self).calculate_wage(self, hours)

 milton = PartTimeEmployee("Milton")
 print (milton.full_time_wage(10))
是不正确的,应该是

return super(PartTimeEmployee, self).calculate_wage(hours)
下一次:也发布你看到的错误消息

是不正确的,应该是

return super(PartTimeEmployee, self).calculate_wage(hours)

下次:也发布您看到的错误消息。

为什么不需要“自我”呢?它在Employee类中定义为calculate_wage(self,hours),我想我应该复制粘贴它。因为
self
是从方法调用前面的内容派生出来的(
self
在执行
foo.calculate_wage(hours)
时设置为
foo
),如果是这样的话,标记我的答案是否正确?为什么不要求“自我”呢?它在Employee类中定义为calculate_wage(self,hours),我想我应该复制粘贴它。因为
self
是从方法调用前面的内容派生出来的(
self
在执行
foo.calculate_wage(hours)
时设置为
foo
),如果是这种情况,请标记我的答案是否正确?“但返回错误”…唉,错误消息似乎是一个秘密…你能选择我的答案正确吗?“但返回错误”…唉,错误消息似乎是一个秘密…你能选择我的答案正确吗?