【发布时间】:2015-07-10 08:50:52
【问题描述】:
class employee(object):
def __init__(self,employeenumber,name):
self.employeenumber=employeenumber
self.name=name
def printdata(self):
print self.employeenumber
print self.name
class payroll(employee):
def __init__(self,employeenumber,name,salary):
employee. __init__(employeenumber,name)
self.salary=salary
def outdata(self):
self.printdata()
print self.salary
class leave(payroll):
def __init__(self,employeenumber,name,salary,nodays):
payroll. __init__(employeenumber,name,salary)
self.nodays=nodays
def showdata(self):
self.outdata()
print self.nodays
emp1=leave(3,"sam",5000,8)
emp1.showdata()
尝试使用“Super”,但遇到了同样的错误:
Traceback (most recent call last):
File "C:/Python27/limb.py", line 23, in <module>
emp1=leave(3,"sam",5000,8)
File "C:/Python27/limb.py", line 17, in __init__
payroll. __init__(employeenumber,name,salary)
TypeError: unbound method __init__() must be called with payroll instance as first argument (got int instance instead)
如果有人可以建议用 super 编写这段代码,那就太好了,这样我就可以理解它的实际功能了。
【问题讨论】:
标签: python python-2.7 typeerror superclass