Как получить другой конструктор в производном классе в Python?
Если я попробую что-то вроде этого:
from abc import ABCMeta, abstractproperty, abstractmethod
class AbstractClass(object):
__metaclass__ = ABCMeta
def __init__(self):
pass
и
import AbstractClass
class DerivedClass(AbstractClass):
_prop = ''
def __init__(self, param):
self._prop = param
Iget
TypeError: Error when calling the metaclass bases
module.__init__() takes at most 2 arguments (3 given)
Я хотел бы сделать что-то вроде
if (cl_param == '1'):
obj = DerivedClass1('1', 'c')
else if (cl_param == '2'):
obj = DerivedClass2('2', 'foo', 2)
и так далее.Остальная часть интерфейса будет одинаковой в каждом классе, им просто нужны разные параметры инициализации.Или мне нужно обойти это, указав параметры в списке?