Python中的TypeError: object() takes no parameters新手问题的解决办法

定义一个人的类,人的属性

class people:
    number = 100 #血量
    #构造函数,初始化的方法,当创建一个类的时候,首先会调用它
    def _init_(self,name,age):
        self.name = name
        self.age  = age
    def display(self):
        print('number = :',number)
    def display_name(self):
        print(self.name)

对于下面的代码,Python解释器报错,主要是由于我的_init_只写了一个下划线,正确的是应该用两个下划线

p1 = people('zhangsan',24)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
 in ()
----> 1 p1 = people('zhangsan',24)

TypeError: object() takes no parameters

正确代码如下

class people:
    #所有的实例都会共享
    number = 100 #血量
    #构造函数,初始化的方法,当创建一个类的时候,首先会调用它
    def __init__(self,name,age):
        self.name = name
        self.age  = age
    def display(self):
        print('number = :',number)
    def display_name(self):
        print(self.name)
p1 = people('zhangsan',24)
p1.name

你可能感兴趣的:(Python)