TypeError:这个构造函数在python中不接受参数

2024-03-28 10:20:10 发布

您现在位置:Python中文网/ 问答频道 /正文

如何打印e1和e2值。它不返回任何值。在

class Employee:

    def __init__(self,name,age):
       self.name=name
       self.age=age

       e1=Employee("xyz",'25')
       e2=Employee("abc",'23')
       print("Employee Details...")

       print("Name:",e1.name,"age:",e1.age)
       print("Name:",e2.name,"age:",e2.age)
       return
t=Employee()
print t

Tags: nameselfagereturninitdefemployeedetails
2条回答

您应该重新定义__init__方法。这是因为对象初始化时调用了__init__。在

class Employee:

    def __init__(self, name,age):
        self.name = name
        self.age=age

e1=Employee("xyz",'25')
e2=Employee("abc",'23')
print("Employee Details...")

print("Name:",e1.name,"age:",e1.age)
print("Name:",e2.name,"age:",e2.age)

编辑:

您可以使用这段代码,只需稍加更新就可以实现所需的输出。在

您可以在print之后添加逗号,,以允许下一个print语句在同一行开始,请按如下方式更改代码:

^{2}$

输出:

Employee Details: (' Name:', 'xyz', 'age:'25') (' Name:', 'abc', 'age:'23')

您所要做的似乎是重新设计了__str__方法。这里有一个建议,你可以这样做:

class Employee:

    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __str__(self):
        return "Name: {0}, age: {1}".format(self.name, self.age)


t = Employee("uday", 25)
print t

我在这里做一些假设,并试图猜测你的实际目标。 我希望它仍然有用。在

相关问题 更多 >