Я имею в виду сумасшедший ленивый хакерский взлом, когда хук datamodel должен быть удален из типа во время выполнения (влияет на все экземпляры). Это работает правильно / как и ожидалось:
>>> class Crazy:
... def __getattr__(self, attr):
... del Crazy.__getattr__
... return 'world'
...
>>> c = Crazy()
>>> c.hello
'world'
>>> c.hello
AttributeError: 'Crazy' object has no attribute 'hello'
Я вспоминаю, что разрешение имен dunder'а, подключенных к экземпляру , невозможно в Python, но я не уверен, есть ли какие-либо подводные камни при динамическом изменении имен dunder типа .
Это поведение гарантировано / надежно в Python?