В настоящее время я пытаюсь реализовать некоторое наследование в моем проекте Python и попал в дорожный блок. Я пытаюсь создать baseParentClass, который будет обрабатывать основные функции для множества дочерних классов. В этом конкретном примере я пытаюсь инициализировать экземпляр с несколькими атрибутами (установленными в 0), хранящимися как список переменных класса (называемый ATTRS) в Ребенке. Я не уверен, как использовать этот ATTRS в родительском классе.
class Parent(object):
def __init__():
for attr in ATTRS:
setattr(self, attr, 0)
class Child(Parent):
#class variable
ATTRS = [attr1, attr2, attr3]
def __init__():
super(Child, self).__init__()
Я мог бы хранить ATTRS как self.ATTRS в Child, а затем успешно использовать self.ATTRS в Parent, но мне кажется предпочтительнее, чтобы они были сохранены как переменная класса.
В качестве альтернативы я мог бы передавать ATTRS в качестве параметра, например:
class Child(Parent):
#class variable
ATTRS = [attr1, attr2, attr3]
def __init__():
super(Child, self).__init__(ATTRS)
но мне интересно, действительно ли это каким-то образом наносит ущерб использованию наследования?
Я был бы благодарен за любые идеи, подсказки или отзывы о том, полностью ли я лаем неправильное дерево!
Спасибо