Python的类设计 - 参数错误 [英] Class Design for Python - Parameter Error

查看:99
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆