Python的类设计 - 参数错误 [英] Class Design for Python - Parameter Error
本文介绍了Python的类设计 - 参数错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用以下代码为员工创建一个python代码,但它会出现错误Object()不带参数)我的目标是创建一个程序来保持跟踪组织中的员工,允许用户在简单的数据库中添加和删除员工,列出员工姓名和工号,工资并更新工资,并将所有信息读写到文本文件中。
到目前为止这是我的代码:
class 员工:
员工有姓名,一个员工编号,工作年数,薪资和假期
def __init __(self,name,StaffNumber,YearsWorked,Salary,HolidayEntitlement):
self._name = name
self._StaffNumber = StaffNumber
self._YearsWorked = []
self._Salary = []
self._HolidayEntitlem ent = []
def addEmployee(self):
text = int(input( 输入员工姓名))
i 在范围内(文本):
self._name(输入( 输入员工姓名))
e =员工( Jean Green , 13026, 7, £12,890, 42天)
print ( 员工:,e._name)
print ( 员工:,e._StaffNumber)
print ( 员工:, e._YearsWorked)
print ( 员工:,e._Salary)
print ( 员工:,e._HolidayEntitlement)
如何正确创建?
解决方案
在Python中,代码的缩进对于编译器理解你来说至关重要...在你的情况下,def __init__没有缩进,所以这不是类的一部分 - 默认的创建者没有参数...
代码应如下所示:
class 员工:
员工有姓名,一个员工编号,工作年数,薪水和假期
注意这里的缩进!!!
def __init __(self,name,StaffNumber,YearsWorked,Salary,HolidayEntitlement):
self ._name = name
self._StaffNumber = StaffNumber
self._YearsWorked = []
self._Salary = []
self._HolidayEntitlement = []
I'm trying to create a python code for employees using the following code but it is coming up with an error "Object () takes no parameters) My objective is to create a program to keep track of employees in an organisation, by allowing the user to add and remove employees from a simple database listing their staff names and number, salaries and update their salaries and read and write all the information into a text file.
So far this is my code:
class Employee:
""" Employee has name, one staff number, number of years worked, Salary and Holiday"""
def __init__(self, name, StaffNumber, YearsWorked, Salary, HolidayEntitlement):
self._name=name
self._StaffNumber=StaffNumber
self._YearsWorked=[]
self._Salary=[]
self._HolidayEntitlement=[]
def addEmployee(self) :
text = int(input("Enter Employee's Name"))
for i in range (text):
self._name(input("Enter Employee's Name"))
e = Employee("Jean Green", "13026", "7", "£12,890", "42 days")
print ("Employee: ", e._name)
print ("Employee: ", e._StaffNumber)
print ("Employee: ", e._YearsWorked)
print ("Employee: ", e._Salary)
print ("Employee: ", e._HolidayEntitlement)
How do I create it right?
解决方案
In Python the indentation of your code is critical to the compiler to understand you...In your case def __init__ not indented so this is no part of class - the default creator takes no parameter...
The code should look like this:
class Employee: """ Employee has name, one staff number, number of years worked, Salary and Holiday""" """ Notice the indentation here!!! """ def __init__(self, name, StaffNumber, YearsWorked, Salary, HolidayEntitlement): self._name=name self._StaffNumber=StaffNumber self._YearsWorked=[] self._Salary=[] self._HolidayEntitlement=[]
这篇关于Python的类设计 - 参数错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文