装饰器:本身就是个函数,用来给其他函数增加附加的功能
def log(): passdef function():
pass log() def funciton2(): pass log()# 函数的调用
装饰器原则:1.不能修改被装饰的函数的源代码2.不能修改被装饰的函数的调用方式3.装饰器对被装饰的函数是完全透明的装饰器:
1.函数即变量2.高阶函数3.嵌套函数4.高阶函数+嵌套函数内存回收机制:
python解释器进行垃圾回收机制:计数机制x=1匿名函数会被立马回收匿名函数
calc =lambda x :x*3calc() 定义变量调用变量
import time def timer(func): def deco(): start_time = time.time() func() stop_time = time.time() ex_time = stop_time - start_time print(ex_time) return deco @timer def t1(): time.sleep(1) print('in the test1') t1()