闭包:
def func(n1):
var = 123
def inner():
print(var,n1)
return inner
res = func(6) #<function func.<locals>.inner at 0x000001FBE04AEC20>
res() #123 6
闭包通过函数嵌套的机制,先将数据封装到作用域(包),后续在执行内部函数时,再去获取之前封装的值即可
闭包保证数据的安全 同时函数不会死亡 函数里面的数据属于局部变量,外部无法使用
线程池:
from concurrent.futures import ThreadPoolExecutor
# 线程池中最多创建5个线程
pool = ThreadPoolExecutor(5)
装饰器:
固定格式:
def outer(func): def inner(*args):
#代码运行前加功能
data = func(*args)
#代码运行后加功能
return data return inner
优势:不修改原函数的基础上,进行功能扩展
装饰器本质上就是利用:1.嵌套+闭包 2。@xx语法
标签:闭包,函数,线程,inner,func,高阶,def From: https://www.cnblogs.com/yuangewanfei/p/17243916.html