Позвольте мне начать с того, что я хотел бы сделать. Я хочу создать ленивую оболочку для переменной, так как я записываю все вызовы методов и вызовы операторов и оцениваю их позже, когда я указываю переменную, чтобы вызвать ее.Метод перехвата Python call
Как таковой, я хочу иметь возможность перехватывать все вызовы методов и вызовы операторов и специальные методы, чтобы я мог работать с ними. Однако __getattr__
не перехватывает вызовы операторов или __str__
и такие, поэтому я хочу знать, существует ли общий способ перегрузить все вызовы методов или просто я просто динамически создаю класс и дублирую код для всего этого (что я уже сделал, но уродливо).
Я написал ответ на [этот вопрос] (http://stackoverflow.com/questions/9057669/how-can-i-intercept-calls-to-pythons-magic-methods-in-new-style-classes/9059858 # 9059858), который похож на то, что вы хотите сделать. – kindall
Даже '__getattribute__' вызывается в методах dunder. Убирайся. –