Я использую Decorator (класс) в методе Instance другого класса, например:
class decorator_with_arguments(object):
def __init__(self, arg1=0, arg2=0, arg3=0):
self.arg1 = arg1
self.arg2 = arg2
self.arg3 = arg3
def __call__(self, f):
print("Inside __call__()")
def wrapped_f(*args):
print(f.__qualname__)
f(*args)
return wrapped_f
class Lol:
@decorator_with_arguments("hello")
def sayHello(self,a1, a2, a3, a4):
print(self.sayHello.__qualname__)
Теперь, когда я печатаю self.sayHello.__qualname__
, он печатает decorator_with_arguments.__call__.<locals>.wrapped_f
Есть ли способ переопределить это?Я хочу видеть здесь Lol.sayHello
( qualname моей исходной функции).
Я попытался переопределить @property
__qualname__
из __call__
(со статической строкой);не работал.