Python ProgrammingPython Programming

Decorator of classes and functions

from functools import wraps


def decorator(func):
  @wraps(func)
  def wrapper(*args, **kwargs):
    print('sth to log: %s : %s' % (func.__name__, args))
    return func(*args, **kwargs)
  return wrapper


class Class_test(object):
  @decorator
  def sum_func(self, a, b):
    print('class sum: %s' % (a + b))
    return a + b


print(Class_test.sum_func(1, 5, 16))
Output
sth to log: sum_func : (1, 5, 16)
class sum: 21
21