У меня есть этот код:
from abc import ABCMeta, abstractmethod
class Instruction (object):
__metaclass__ = ABCMeta
def __init__(self, identifier_byte):
#type: (int) ->
self.identifier_byte = identifier_byte
@abstractmethod
def process (self):
print ("Identifier byte: ()".format(self.identifier_byte))
class LDAInstruction (Instruction):
def process (self):
super(Instruction,self).process()
отлично работает с Python 3.2, но не с 2.6.Затем, основываясь на этой теме: TypeError: super () принимает хотя бы 1 аргумент (задано 0) Ошибка специфична для любой версии Python?
Я изменил последнюю строку на:
super(Instruction,self).process()
, который вызывает это сообщение об ошибке в этой точной строке:
AttributeError: у объекта 'super' нет атрибута 'process'
Мне кажется,что есть метод "процесс" для супер-вызова.Питон говорит, что «супер» является независимым объектом, не связанным с инструкцией?Если да, как я могу сказать, что super должен вызывать только конструктор базового класса?
Если нет, как я буду действовать?Спасибо за любые идеи.