# python装饰器 # /usr/sbin/py/python # -*-coding:utf8-*- # 装饰器:本质是为目标函数添加新功能,但不影响目标函数本身及其调用 # 装饰器组成: 高阶函数 + 函数嵌套 +闭包 # 高阶函数: 函数接收参数为函数名,函数返回值是一个函数名 满足任意一个条件即称为高阶函数 # 函数嵌套:在函数中又定义了一个函数 # 装饰器架子 import time def decrator(func): def wrapper(*args, **kwargs): # 参数通配符 print("wrapper method") start_time = time.time() result = func(*args, **kwargs) end_time = time.time() print("运行时间是%s" % (end_time - start_time)) return result return wrapper def test(): time.sleep(3) print("execute test method") test = decrator(test) # 这个赋值操作显然不能满足 test() # 语法糖 @+函数名 =》 test = decrator(test) @decrator def testNew(a, b): time.sleep(2) print("execute testNew method") return a + b print(testNew(3, 6)) # 解压序列 l = [1, 2, 3, 4, 5, 6, 7] # 需求取出序列中的头和尾 a, *_, d = l # *号后面的_没有实际意义,可以是任意符号 print(a) # python 中交换值的便捷写法 a = 1 b = 2 a, b = b, a print(a, b)
python 16 装饰器
最新推荐文章于 2023-06-20 22:11:03 发布