Python TypeError:object()不带参数错误

dat*_*dat 0 python python-3.x

我是Python的初学者.我正在关注"以艰难的方式学习Python".在练习40中,我尝试编写一个简短的代码但是出错了.请帮我 :(

资源

class showInfo(object):
    'Initialize a classL'
    def __int__(self, name, phone, age):
        self.name = name
        self.phone = phone
        self.age = age

def showName(self):
    print("Name: "+self.name)
def showAge(self):
    print("Age: "+self.age)
def showPhone(self):
    print("Phone: "+self.phone)

emp1 = showInfo("JJJ")

emp1.showName()
Run Code Online (Sandbox Code Playgroud)

调试

Traceback (most recent call last):
File "classes.py", line 15, in <module>
    emp1 = showInfo("JJJ")
TypeError: object() takes no parameters
Run Code Online (Sandbox Code Playgroud)

Ray*_*ger 5

原因__init__是错误拼写:-)

之后,将出现不同的错误消息,因为showInfo("JJJ")只有在需要三个参数时才传递一个参数showInfo(somename, somephone, someage).

之后,还会有一条消息,因为最后三个方法没有在类定义下正确缩进.

这是固定代码:

class showInfo(object):
    'Initialize a classL'
    def __init__(self, name, phone, age):
        self.name = name
        self.phone = phone
        self.age = age

    def showName(self):
        print("Name: "+self.name)

    def showAge(self):
        print("Age: "+self.age)

    def showPhone(self):
        print("Phone: "+self.phone)

emp1 = showInfo("Tom", "555-1212", 21)
emp1.showName()
Run Code Online (Sandbox Code Playgroud)

这输出:

Name: Tom
Run Code Online (Sandbox Code Playgroud)