闭包
就是将数据封装在一个包(区域)中,使用时再去里面取。本质上,闭包是基于函数嵌套搞出来的一种特殊嵌套
- 闭包的应用场景,1:封装数据防止污染全局
装饰器
点击查看代码
import time
import functools
def func(a, b):
print("执行函数func....")
print(f"正在计算{a} + {b} ......")
res = a + b
time.sleep(3)
print(f"函数执行结束,结果是:{a+b}")
# 当我们要计算func执行时间时,就可以通过不改变fun内部代码,通过装饰器实现
def cal_time(func):
@functools.wraps(func)
def wrapper(*args, **kwargs):
start = time.time()
print(f"开始时间:{start}")
res = func(*args, **kwargs)
end = time.time()
print(f"结束时间:{start}")
print(f"总花费时间:{end-start}")
return res
return wrapper
@cal_time
def func_1(a, b, c):
print("执行函数func....")
print(f"正在计算{a} + {b} + {c}......")
time.sleep(3)
print(f"函数执行结束,结果是:{a+b+c}")
return a + b + c
if __name__ == '__main__':
v_1 = func_1(1, 2, 3)
print(v_1)
print(func_1.__name__)