Python的类设计-参数错误

Python的类设计-参数错误,python,shell,python-3.x,python-idle,Python,Shell,Python 3.x,Python Idle,我试图使用以下代码为员工创建python代码,但出现了一个错误“Object()不带参数) 我的目标是创建一个程序来跟踪组织中的员工,允许用户从一个简单的数据库中添加和删除员工,列出他们的员工姓名和编号、工资,更新他们的工资,并将所有信息读写到文本文件中 到目前为止,这是我的代码: class Employee: """ Employee has name, one staff number, number of years worked, Salary and Holiday"""

我试图使用以下代码为员工创建python代码,但出现了一个错误“Object()不带参数) 我的目标是创建一个程序来跟踪组织中的员工,允许用户从一个简单的数据库中添加和删除员工,列出他们的员工姓名和编号、工资,更新他们的工资,并将所有信息读写到文本文件中

到目前为止,这是我的代码:

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)

我不确定我的代码是否完全错误。

您的缩进是错误的。
\uuuuu init\uuuu
方法没有正确缩进到您的类下,因此被视为类外的一个方法。这使得您的类没有方法和默认的
\uuuu init\uuu
函数


将整个行块的缩进按四个空格,代码就会工作。

您必须修复
\uuuu init\uuuu
方法的缩进;除此之外,您的代码适用于mefair警告:在python中,CamelCaps通常是为类名保留的,这使您的代码读起来有点奇怪(这就是语法高亮显示为所有属性名称着色的原因)。你可以只做
staff_number
等。我也不喜欢CamelCap。只是为了清楚,空闲(包含在标记中,但不相关)不给它们上色。在赋值语句中,
=
应该有空格“=`以便于阅读。添加了Etan在应答中指定的缩进。很抱歉,像这样吗?所以去掉[“init”]否。缩进代码。Python对空格/缩进敏感。
\uuuuu init\uuuu
方法缩进到与类定义相同的级别,这使Python认为它不是类的一部分。将其移动到类的缩进级别(如
addEmployee
方法)。你能在我尝试时给我看一个例子吗?你的
addEmployee
函数就是一个例子。它正确缩进,成为类的一部分。只需修复
\uuuu init\uuu
函数的缩进以匹配。你甚至在你发布到其他问题的代码中都有缩进。