簡體   English   中英

為什么我不斷收到對象錯誤?

[英]Why do I keep getting object errors?

我有以下程序,由於某種原因,我不斷

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()

只要staticmethod返回一個新實例,它就可以正常工作。 因此,您的想法並非遙不可及。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM