Там написано что-то вроде: это:
Для поддержки вызовов методов функции включают метод __get__() для привязки методов во время доступа к атрибутам. Это означает, что все функции не являются дескрипторами данных и возвращают связанные методы при вызове из объекта.
На основании этого описания и того факта, что " Точечный доступ из класса вызывает __get__()" Я предполагал, что можно украсить __get__ метода класса.
Я пытаюсь обернуть someFunction.__get__:
Код: Выделить всё
def wrap(func):
def wrapped(*args, **kwargs):
print("Wrapping...")
return func(*args, **kwargs)
return wrapped
class SomeClass():
def someFunction(self):
print("someFunction called")
someFunction.__get__ = wrap(someFunction.__get__)
obj = SomeClass()
obj.someFunction()
Итак, мой вопрос: почему журнал Wrapping... не печатается?
Выполняется ли назначение:
someFunction.__get__ = wrap(someFunction.__get__)
< /code>
Что -нибудь? < /p>
Подробнее здесь: https://stackoverflow.com/questions/615 ... get-method
Мобильная версия