def wrapper(func):
def inner(*args,**kwargs):
print('在此添加调用前代码')
ret = func(*args,*kwargs)
print('在此添加调用后代码')
return ret
return inner
@wrapper
def holiday(day):
print('全体放假 %s 天' % day)
return '好开心'
ret = holiday(3)
print(ret)
'''
在此添加调用前代码
全体放假 3 天
在此添加调用后代码
好开心
'''
def outer(*args,**kwargs):
print(args) #(1, 2, 3, 4)
print(*args) #1 2 3 4
def inner(*args):
print('inner:',args) #inner: (1, 2, 3, 4)
inner(*args)
outer(1,2,3,4)
#或
outer(*[1,2,3,4])
#或
outer(*(1,2,3,4))
def wahaha():
'''
一个打印娃哈哈的函数
:return:
'''
print('娃哈哈')
print(wahaha.__name__) #查看函数名 wahaha
print(wahaha.__doc__) #查看注释文档
from functools import wraps #调用一个装饰函数
def wrapper(func):
@wraps(func) #装饰函数
def inner(*args,**kwargs):
print('在此添加调用前代码')
ret = func(*args,*kwargs)
print('在此添加调用后代码')
return ret
return inner
@wrapper
def holiday(day):
'''
这是一个放假通知
:param day:
:return:
'''
print('全体放假 %s 天' % day)
return '好开心'
ret = holiday(3)
print(ret)
print(holiday.__name__) #holiday
print(holiday.__doc__)
# 这是一个放假通知
# :param
# day:
# :return: