#复习装饰器
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:
原文地址:https://www.cnblogs.com/bydzxzy/p/9651550.html
时间: 2024-10-10 22:30:45