Why is this decorator with a parameter not working?
def decAny( f0 ):
def wrapper( s0 ):
return \"<%s> %s %s>\" % ( any, f0(), any
There is a good sample from "Mark Lutz - Learning Python" book:
def timer(label=''):
def decorator(func):
def onCall(*args): # Multilevel state retention:
... # args passed to function
func(*args) # func retained in enclosing scope
print(label, ... # label retained in enclosing scope
return onCall
return decorator # Returns the actual decorator
@timer('==>') # Like listcomp = timer('==>')(listcomp)
def listcomp(N): ... # listcomp is rebound to new onCall
listcomp(...) # Really calls onCall