Python教程自学网欢迎您来学习!
当前位置: 首页 > Python基础教程 > __dict__在python中的实例操作

__dict__在python中的实例操作

   

__dict__在python中的实例操作

1、可以从字典中实例化一个对象,或者通过保存实例的 __dict__ 来恢复实例。

>>> def new_employee_from(d):
...     instance = object.__new__(Employee)
...     instance.__dict__.update(d)
...     return instance
...
>>> e1 = new_employee_from({'department': 'IT', 'name': 'bobo'})
>>> e1
<Employee: IT-bobo>
>>> state = e1.__dict__.copy()
>>> del e1
>>> e2 = new_employee_from(state)
>>> e2
>>> <Employee: IT-bobo>

2、因为 __dict__ 的完全开放,所以我们可以向其中添加任何 immutable 类型的 key,比如数字:

>>> e.__dict__[1] = 1 >>> e.__dict__ {‘department’: ‘IT’, ‘name’: ‘bobo’, 1: 1}

这些非字符串的字段是我们无法通过实例对象访问的,为了确保不会出现这样的情况,除非必要的情况下,一般最好不要直接对 __dict__ 进行写操作,甚至不要直接操作 __dict__。