I'm pretty new to Python, and haven't been able to find an answer to this question from searching online.
Here is an example decorator that does nothing (yet)
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
Here is an example class
class MyClass:
my_var = []
@my_decorator('sometext')
def my_func()
# do some super cool thing
In my decorator i'd like to access the class object for MyClass
and add in 'sometext' to the MyClass.my_var
list. My goal is to populate my_var with decorated values at module load time, not function call time.
Is there a way i can navigate from f
to MyClass
in order to do this? I know that *args[0] is the instance of MyClass, but that is only available when the function is called.