def decofactory(decorator_param): def decoratorfunction(func): def wrapper(*args, **kwargs): func(*args, **kwargs) return wrapper return decoratorfunction @decoratorfactory(someparameter) def actual_function(param1, param2): pass
def decofactory(decorator_param=1): def decoratorfunction(func): def wrapper(*args, **kwargs): func(*args, **kwargs) return wrapper return decoratorfunction @decoratorfactory def actual_function(param1, param2): pass
Statt:
@decoratorfactory def actual_function(param1, param2): pass
@decoratorfactory() def actual_function(param1, param2): pass
def decofactory(decorator_param=1): def decoratorfunction(func): def wrapper(*args, **kwargs): func(*args, **kwargs) return wrapper if callable(decorator_param): # Set the default-value decorator_param = 1 return decoratorfunction(decorator_param) return decoratorfunction