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
),如果是这种情况,请标记我的答案是否正确?“但返回错误”…唉,错误消息似乎是一个秘密…你能选择我的答案正确吗?“但返回错误”…唉,错误消息似乎是一个秘密…你能选择我的答案正确吗?