标签:tar 有用 style 语法 参数 app 相关信息 UNC ret
def func(*args,**kwargs): """ 这里是函数的注释,先写?下当前这个函数是?什么的 :param args:参数args是什么意思 :param kwargs:参数kwargs是什么意思 :return:返回值是什么 """ print("哈哈")
def func(*args,**kwargs): """ 这里是函数的注释,先写?下当前这个函数是?什么的 :param args:参数args是什么意思 :param kwargs:参数kwargs是什么意思 :return:返回值是什么 """ print("哈哈") print(func.__name__) #获取函数的名字 print(func.__doc__) #获取函数的注释
def wrapper(func): def inner(*args, **kwargs): ret = func(*args, **kwargs) return ret return inner # @wrapper 相当于target_func=wrapper(target_func)语法糖 @wrapper def target_func(): print("我是?标函数") # 调?目标函数 target_func() print(target_func.__name__) # inner 结果: inner
from functools import wraps # 引?入函数模块 # 装饰器:对传递进来的函数进?包装.可以在? def wrapper(func): @wraps(func) # 使?函数原来的名字 def inner(*args, **kwargs): ret = func(*args, **kwargs) return ret return inner # # @wrapper 相当于target_func=wrapper(target_func)语法糖 @wrapper def target_func(): print("我是?标函数") # 调??标函数 target_func() print(target_func.__name__) # 不再是inner.?是target_func了
def outer(flag): def timer(func): def inner(*args,**kwargs): if flag: print(‘‘‘执行函数之前要做的‘‘‘) re = func(*args,**kwargs) if flag: print(‘‘‘执行函数之后要做的‘‘‘) return re return inner return timer @outer(False) def func(): print(111) func() 带参数的装饰器
def wrapper1(func): def inner(): print(‘wrapper1 ,before func‘) func() print(‘wrapper1 ,after func‘) return inner def wrapper2(func): def inner(): print(‘wrapper2 ,before func‘) func() print(‘wrapper2 ,after func‘) return inner @wrapper2 @wrapper1 def f(): print(‘in f‘) f() 多个装饰器装饰同一个函数
标签:tar 有用 style 语法 参数 app 相关信息 UNC ret
原文地址:https://www.cnblogs.com/zxmbky/p/9188478.html