def Debug(targetCls):

    def wrap(name, func):

        def wrapper(*args, **kwargs):
            print('Start debug support for %s.%s()' % (targetCls.__name__, name
                ))
result = func(*args, **kwargs)
return result
return wrapper
for name, func in inspect.getmembers(targetCls, inspect.ismethod):
    setattr(targetCls, name, wrap(name, func))
return targetCls
How to Write a valid Class Decorator in Python?