为什么我继续遇到对象错误



我有以下程序,由于某种原因,我继续获得

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()
只要静态返回新实例,

就可以正常工作。所以你的想法并不遥远。

最新更新