У меня есть класс
class Instruction(NamedTuple):
function: str
argument_register_1: str
argument_register_2: str
result_register: str
и класс, который его расширяет:
class OrderedInstruction(Instruction):
order: int
@classmethod
def from_instruction(cls, instruction: Instruction, order: int):
return cls(instruction.function,
instruction.argument_register_1,
instruction.argument_register_2,
instruction.result_register,
order)
, но проблема в том, что когда я пытаюсь вызвать OrderedInstruction.from_instruction(instruction, 0)
, я получаю исключение
TypeError: __new__() takes 5 positional arguments but 6 were given
И я не знаю почему. Я не могу отладить его, потому что не вижу звонка на __new__
. Может кто-нибудь сказать мне, как создать / использовать OrderedInstruction.from_instruction(instruction, number)
?