python 类 __dict__ 在赋值时的使用
来源:互联网 发布:wordpress windows包 编辑:程序博客网 时间:2024/06/04 20:08
举个栗子:
class test1(object): def __init__(self): self.a = 1 self.b = 2
test1 是个简单的类,我们先初始化这个类,然后用一个字典给类的实例赋值,会发现一些有趣的地方
In [12]: x.__dict__Out[12]: {'a': 1, 'b': 2}In [13]: x.__dict__ = {'a':3, 'c':4}In [14]: xOut[14]: <__main__.test1 at 0xaf29080>In [15]: x.__dict__Out[15]: {'a': 3, 'c': 4}In [16]: x.cOut[16]: 4In [17]: x.__dict__ = {'a':3, 'c':4, 'b':5}In [18]: x.__dict__Out[18]: {'a': 3, 'b': 5, 'c': 4}
从 In[13] 可以发现原来类的属性里面没有定义 self.c , 但是经过赋值,实例 x 就有了 x.c 属性, 但是 x.b 却消失了。从接下来的 [17], [18] 可以看出来 实例的属性会被重新赋值,而且部分属性会被删除,这取决于等号后面的 dict 有哪些 key.
如果我们只是想增添实例的属性,并且改变某些已有的属性,那么可以使用 字典的 update 函数来实现
x.__dict__.update({'a':3, 'c':4})
这样如果实例本身就有 x.a 属性,那么 x.a = 3 x.c = 4
阅读全文
0 0
- python 类 __dict__ 在赋值时的使用
- python - __dict__的妙用
- python的类变量与实例变量以及__dict__属性
- python的类变量与实例变量以及__dict__属性
- python的类变量与实例变量以及__dict__属性
- python的类变量与实例变量及__dict__属性
- python的类变量与实例变量以及__dict__属性
- python __dict__
- 飘逸的python - __dict__的妙用
- Python之dir()与__dict__的区别
- Python之dir()与__dict__的区别
- Python 类中的__dict__学习笔记
- python中对象相等判断(is、==与__dict__的使用)
- Python 中的__dict__
- python dir __dict__
- Python __slots__ and __dict__
- python __dict__ ,dir()
- python中or关键字在变量赋值时的用法
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 E. Maximum Flow
- 指针专题讲义
- Android Studio "佛祖保佑 永无bug" 注释模板设置详解(仅供娱乐)
- Android 逐帧动画
- (三)-垃圾收集策略
- python 类 __dict__ 在赋值时的使用
- Struts2笔记(10)——拦截器(Interceptor)(一)
- tf.Variable()与tf.get_variable()对比
- hive
- 数据库隔离级别 及 其实现原理
- CorelDRAW软件有了节点灵活应用还会么问题解决不了的呢
- 验证人脸识别算法
- spring初始化执行
- Calico 的网络结构是什么?- 每天5分钟玩转 Docker 容器技术(68)