__dict__在python中的实例操作

Python (191) 2023-04-20 13:06:03

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

>>>defnew_employee_from(d):
...instance=object.__new__(Employee)
...instance.__dict__.update(d)
...returninstance
...
>>>e1=new_employee_from({'department':'IT','name':'bobo'})
>>>e1
<Employee:IT-bobo>
>>>state=e1.__dict__.copy()
>>>dele1
>>>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__。

以上就是__dict__在python中的实例操作,希望对大家有所帮助。更多Python学习推荐:python教学

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

THE END

发表回复