У меня интересный сценарий. У меня есть базовый класс, который имеет атрибут (контекст). Я хочу создать экземпляр дочернего класса из данного базового класса, а затем обновить атрибут.
Обычно это можно сделать с помощью свойства getter и setter. Тем не менее, я пытаюсь сохранить дочерний класс настолько чистым, насколько это возможно, так как он будет использоваться в рамках. Поэтому я не хочу использовать метод получения и установки в дочернем классе. Вместо этого я могу создать атрибут и функцию с тем же именем. Это позволяет мне определять атрибут с помощью функции, но также обновлять атрибут позже. Это похоже на достижение результатов, которые я ищу. Однако мне любопытно, считается ли это плохой практикой или будут ли какие-либо непредвиденные последствия.
class Base:
def __init__(self, task_name):
self.name = task_name
self.context = self.context()
def context(self):
return None
class ChildClass(Base):
def context(self):
return {
'test': 90,
'test1': 9000,
}
def run(self):
print(self.context)
child_class = ChildClass('test')
child_class.context = 'updated values'