为什么Python中会出现TypeError?

为什么Python中会出现TypeError?,python,Python,在这个python程序中,当我运行它时,会出现以下错误: 回溯(最近一次呼叫最后一次): 文件“C:\pythonworkspace\testaddfr\src\test\\uuuu init\uuuu.py”,第12行,在 john=AddrBookEntry('sss','999')) TypeError:AddrBookEntry()不接受任何参数 您可以尝试使用 AddrBookEntry.name=/*Some name*/ AddrBookEntry.phone=/*一些phome*

在这个python程序中,当我运行它时,会出现以下错误:

回溯(最近一次呼叫最后一次):
文件“C:\pythonworkspace\testaddfr\src\test\\uuuu init\uuuu.py”,第12行,在
john=AddrBookEntry('sss','999'))
TypeError:AddrBookEntry()不接受任何参数

您可以尝试使用

AddrBookEntry.name=/*Some name*/
AddrBookEntry.phone=/*一些phome*/
使用添加调用函数

AddrBookEntry.updatePhone(“”,“”)

取消缩进
john=AddrBookEntry('sss','999')
john
。您有几个缩进错误(d删除类注释和
john=…
内容。完成后,它会工作。这里没有任何东西会导致您声称的错误。您是否可以应用更改,使此脚本成为我们可以运行的脚本,并验证它是否会产生错误?是的,我们必须查看您是如何调用此脚本的。根据错误,我猜您正在调用方法,而不是通过类所需的对象句柄。请提供一个。它将变量添加到类对象本身,而不是实例。他们可以尝试这样做,但为什么?这并不能真正解决问题,对吗?
class AddrBookEntry(object): # class definition
        'address book entry class'
    def __init__(self, nm, ph): # define constructor
        self.name = nm # set name
        self.phone = ph # set phone#
        print ('Created instance for:', self.name)
    def updatePhone(self, newph): # define method
        self.phone = newph
        print ('Updated phone# for:', self.name )
    john = AddrBookEntry('sss','999')
    john