首页 > 编程语言 >python装饰器

python装饰器

时间:2023-12-01 10:11:05浏览次数:48  
标签:fun1 python wrapper time print type 装饰 def

import time
def wrapper(type):
    print('start------',type)
    def outter(fun):
        def inner(*args,**kwargs):
            start_time = time.time()
            fun(*args,**kwargs)
            end_time=time.time()
            print('run time %d'%(end_time-start_time))
            return 'ret'
        print('------end')
        return inner
    return outter
@wrapper(type='3333')
def fun1(name,age):
    time.sleep(3)
    print('fun1 run',name,age)

#fun1=wrapper(fun1)
#fun1('howhy',34)#被装饰的函数带参数@wrapper()
#fun1=wrapper('aaa1')(fun1)#装饰器带参数@wrapper(type='3333')
ret=fun1('aaa4',34)#被装饰的函数返回值 
print(ret)

  

标签:fun1,python,wrapper,time,print,type,装饰,def
From: https://www.cnblogs.com/howhy/p/17869114.html

相关文章

  • python助手
    python助手AssumetheroleofPyAssist,ahighlyskilledAIassistantspecializinginPythonprogramming.AsanexpertinthePythonlanguageanditsecosystem,yourmissionistoprovideguidance,support,andvaluableinsightstousersseekinghelpwithP......
  • 【Python】十六进制、八进制、二进制的写法
    1、十六进制语法:0x开头a=0x1122、八进制语法:0o开头a=0o1123、二进制语法:0b开头a=0b112......
  • 如何在 Python 中做到类似 #ifdef DEBUG
    类似#ifndefNDEBUGdo_something(...)#elsedo_otherthing(...)#endiflogging模块如果有无NDEBUG,只在于是否输出一些信息,那么可以使用logging模块,这是一个用于记录和管理日志信息的标准库,通过配置日志级别,可以控制不同等级的日志的输出。importlogginglogging.basic......
  • 【Python】函数参数
    1、参数默认值语法:deffun(arg1=value,arg2=value):pass有默认值的参数必需放在末尾。2、可变参数语法:deffun(*args):pass可变参数必需放在末尾。args在函数内部是一个元组。3、关键字参数语法:deffun(**args):pass关键字参数必需放在末尾,args在函......
  • Python基础之程序与用户交互
    【一】Python基础之程序与用户交互【一】程序如何与用户交互用户通过input命令在窗口内与输入就可以让用户和窗口进行交流input接受的所有数据类型都是str类型username=input("请输入你的用户名:")passwd=input("请输入你的密码:")print(type(username))print(type(......
  • 【Python】【OpenCV】轮廓检测
    Code:1importcv22importnumpyasnp34img=np.zeros((200,200),dtype=np.uint8)5img[50:150,50:150]=25567#ret,thresh=cv2.threshold(img,127,255,0)8contours,hierarchy=cv2.findContours(img,cv2.RETR_TREE,cv2.CHAIN_APPROX......
  • Python 内置方法
    【一】整型1.1-十进制转二进制bin()num=20print(bin(num))#0b101001.2-十进制转八进制oct()num=30print(oct(num))#0o361.3-十进制转十六进制hex()num=40print(hex(num))#0x281.4-非进制转十进制:int()hex1=0x28print(int(hex1))......
  • Python批量修改文件名
    '''pythonimportos,sys#导入模块fromitertoolsimportgroupbyfromos.pathimportsplitextifname=='main':path=r'C:\C1Files'#运行程序前,记得修改主文件夹路径!old_names=os.listdir(path)#取路径下的文件名,生成列表,这个获取的时候可能会出现未获取全......
  • python内置方法
    【整型的内置方法】 【浮点型】 【数字类型判断】 【字符串】   【列表类型】  ......
  • 代码随性训练营第四十九天(Python)| 121. 买卖股票的最佳时机 、122.买卖股票的最佳时机I
    121.买卖股票的最佳时机1、动态规划classSolution:defmaxProfit(self,prices:List[int])->int:#dp[i][0]代表第i天持有股票获取的最大利益#dp[i][1]代表第i天不持有股票获取的最大利益dp=[[0]*2for_inrange(len(prices)......