Доступ к классу, которому принадлежит декорированный метод, из декоратора
Я пишу декоратор для методов, которые должны проверять родительские методы (методы с тем же именем у родителей класса, в котором я декорирую).
Пример (из четвертого примераОПТОСОЗ 318):
def returns(rtype):
def check_returns(f):
def new_f(*args, **kwds):
result = f(*args, **kwds)
assert isinstance(result, rtype), \
"return value %r does not match %s" % (result,rtype)
return result
new_f.func_name = f.func_name
# here I want to reach the class owning the decorated method f,
# it should give me the class A
return new_f
return check_returns
class A(object):
@returns(int)
def compute(self, value):
return value * 3
Поэтому я ищу код для ввода вместо# здесь я хочу ...
Благодарю.