[英]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.