Python调用超级构造

2024-03-29 07:29:21 发布

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

我正在使用HTMLParser模块,并希望创建一个子类。但是我不能给超级构装师打电话,我做错什么了?在

class CustomParser(HTMLParser):

def __init__(self):
    super(CustomParser, self).__init__()

堆栈跟踪:

^{pr2}$

Tags: 模块selfinit堆栈def子类classsuper
2条回答

试试这个:

class CustomParser(HTMLParser):
    def __init__(self):
        HTMLParser.__init__(self)

或者这个:

^{pr2}$

详细信息: https://stackoverflow.com/a/9719731/320104

如错误消息所示,HTMLParser是一个旧样式的类(类型为“classobj”),因此不支持协作的super()调用。从子类调用父级方法的正确方法是直接类访问,即:

class CustomParser(HTMLParser):
    def __init__(self):
        HTMLParser.__init__(self)

相关问题 更多 >