我有以下程序,由于某种原因,我继续获得
typeerror:object((无参数
我是Python的绝对菜鸟,我什至不确定我的编译器在告诉我什么。
代码只能显示员工信息:
class Employee(object):
def make_emp(self,name,idNumber,department,jobTitle):
self.name = name
self.idNumber = idNumber
self.department = department
self.jobTitle = jobTitle
def displayEmployee(self):
print("Name : ", self.name, "idNumber: ",self.idNumber, "Department : ", self.department, "Job Title : ", self.jobTitle)
emp1 = Employee("Susan Meyers",47899,"Accounting","Vice President")
emp2 = Employee("Mark Jones",39119,"IT","Programmer")
emp3 = Employee("Joy Rogers",81774,"Manufacturing","Engineer")
emp1.displayEmployee()
emp2.displayEmployee()
emp3.displayEmployee()
进行Employee(...)
时,它将调用__init__
,因此将make_emp
重命名为__init__
。
您实际上不必使用 __init__
,并且可以使用静态方法来支持多个初始评估。
class Employee(object):
@staticmethod
def create(name, idNumber, department, jobTitle):
e = Employee()
e.name = name
e.idNumber = idNumber
e.department = department
e.jobTitle = jobTitle
return e
def display(self):
print("Name : ", self.name, "idNumber: ",self.idNumber, "Department : ", self.department, "Job Title : ", self.jobTitle)
e = Employee.create("Susan Meyers", 47899, "Accounting", "Vice President")
e.display()
只要静态返回新实例,就可以正常工作。所以你的想法并不遥远。