Я довольно новичок в Python и не смог найти ответ на этот вопрос из поиска в Интернете.В Python можно ли получить доступ к классу, который содержит метод, заданный только для объекта метода?
Вот пример декоратор, который ничего не делает (пока)
def my_decorator(text):
def wrap(f):
# grab magic f.parent_class_object.my_var and append text
def wrap_f(*args, **kwargs):
f(*args, **kwargs)
return wrap_f
return wrap
Вот пример класса
class MyClass:
my_var = []
@my_decorator('sometext')
def my_func()
# do some super cool thing
В моем декоратора я хотел бы получить доступ к объекту класса для MyClass
и добавить в 'sometext' в список MyClass.my_var
. Моя цель - заполнить my_var с украшенными значениями на Загрузка модуля время, а не время вызова функции.
Есть ли способ, которым я могу перемещаться от f
до MyClass
для этого? Я знаю, что * args [0] является экземпляром MyClass, но это доступно только при вызове функции.