1、本地对象(local)理解:
- 线程本地数据的管理
- 这个对象可以随意增加和使用属性
- 作为全局对象,不同的线程,local 内属性是独立的,无法多线程共享
2、使用场景:
- 线程内属性很多时,可以用local对象来存储
- 线程内有一类属性,可以用local对象来存储
3、local 的对象方法:
from threading import locall = local() # 创建一个本地对象# 设置属性(随便设置,想添加什么就添加什么)l.name = 'jack' # 解读:给对象添加 name 属性l.age = 30 # 解读:给对象添加 age 属性# 读取属性print(l.name) # 返回:jack 解读:使用 name 属性print(l.__dict__) # 返回:{'name': 'jack', 'age': 30} 解读:返回所有属性,字典# 删除属性del l.age # 解读:删除 age 属性print(l.__dict__) # 返回:{'name': 'jack'}
4、举例说明:线程内三种属性说明(全局变量、全局 local 对象、局部变量)
全局变量
![f13cf6dc8e0374ada6f613e229aa67ab.png](https://img-blog.csdnimg.cn/img_convert/f13cf6dc8e0374ada6f613e229aa67ab.png)
全局 local 对象
![358b4405262bed8fd8737112a22072fd.png](https://img-blog.csdnimg.cn/img_convert/358b4405262bed8fd8737112a22072fd.png)
局部变量
![cb56255a32bcaac9c11c37fc4cb153e8.png](https://img-blog.csdnimg.cn/img_convert/cb56255a32bcaac9c11c37fc4cb153e8.png)