«Разумная» альтернатива, которую я придумал, — это использование виртуального подкласса, но изменение метода проверки экземпляра.
Код: Выделить всё
class Controller:
def __init__(self,smart)
pass
class SmartController(ABC):
def __instancecheck__(self)
return self.smart
возможная причина для этого: контроллер может иметь несколько дочерних классов, отдельные экземпляры которых могут быть либо «умными», либо «глупыми».
Я понимаю, что это может быть очень плохой поступок, но если есть какой-то «наиболее разумный» способ сделать это, то я хотел бы знать, как это сделать.
Также хотелось бы знать, почему это на самом деле плохая идея, если это так.
Подробнее здесь: https://stackoverflow.com/questions/798 ... l-subclass
Мобильная версия