Python/Decorator
< Python
Jump to navigation
Jump to search
| TODO | Code |
|---|---|
def pre_hook(func):
def wrapper(*args):
a = args[0] + 1
b = args[1] + 1
return func(a, b)
return wrapper
| |
def post_hook(func):
def wrapper(*args):
print(func(*args))
return wrapper
| |
def duo_hook(func):
def wrapper(*args):
a = args[0] + 1
b = args[1] + 1
sum = func(a, b)
print(sum)
return sum
return wrapper
| |
def mydeco(func=None, name='default'):
state = {
'begin': 0
}
def pre_task():
state['begin'] = time.time()
print('name=%s' % name)
def post_task():
elapsed = time.time() - state['begin']
print('elapsed=%.2f' % elapsed)
def func_wrapper(*args):
pre_task()
fret = func(*args)
post_task()
return fret
def deco_wrapper(func):
def func_wrapper(*args):
pre_task()
fret = func(*args)
post_task()
return fret
return func_wrapper
return deco_wrapper if func is None else func_wrapper
|