Использование того же декоратора (с аргументами) с функциями и методами
Я пытался создать декоратор, который может быть использован с функциями и методами в Python. Это на это вышлоС собственным не так сложно, но при создании декоратора, который принимает аргументы, кажется, что.
class methods(object):
def __init__(self, *_methods):
self.methods = _methods
def __call__(self, func):
def inner(request, *args, **kwargs):
print request
return func(request, *args, **kwargs)
return inner
def __get__(self, obj, type=None):
if obj is None:
return self
new_func = self.func.__get__(obj, type)
return self.__class__(new_func)
Приведенный выше код правильно оборачивает функцию / метод, но в случае методаrequest
Аргумент - это экземпляр, с которым он работает, а не первый не-собственный аргумент.
Есть ли способ узнать, применяется ли декоратор к функции вместо метода, и действовать соответственно?