Python类的子类可以有不同于基类的参数吗?

2024-09-28 03:24:32 发布

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

我使用的是Python 3.6.7,我有:

class CodeModel:
    def tokenize(self, lexer, save_tokens=None):
        tokens = np.array([], dtype='object')
        line_count = 0

然后我有:

class JSCode(CodeModel):
    def tokenize(self, **kwargs):
        lexer = JavascriptLexer()
        super().tokenize(lexer, **kwargs)

CodeModel中,我有:

self.tokenize(save_tokens='stuff')

我希望它调用JSCodetokenize,它不需要save_tokens,并将其传递给基类CodeModeltokenize。你知道吗

然而,我这样做似乎不起作用。我得到的错误是:

    self.tokenize(save_tokens=save_tokens)
TypeError: tokenize() got an unexpected keyword argument 'save_tokens'

我做错什么了?你知道吗


Tags: selfnoneobjectsavedefnparraykwargs
1条回答
网友
1楼 · 发布于 2024-09-28 03:24:32

如果type(self)CodeModel,但是您知道您想调用JSCode.tokenize,那么您可以使用JSCode.tokenize(self)

我想不出什么好的理由说明self应该是CodeModel类型。如果代码不需要JSCode的任何其他特性,那么为什么还要将它放在该类下呢。只需要在模块命名空间中有一个方法

相关问题 更多 >

    热门问题