• 技术文章 >Python技术 >Python基础教程

    __dict__在python中的实例操作

    小妮浅浅小妮浅浅2021-05-26 09:21:58原创5400

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

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    >>> 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,比如数字:

    1

    2

    3

    >>> 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电脑。

    专题推荐:python __dict__
    上一篇:python中__dict__的实例属性存储 下一篇:Python对象属性的查找顺序

    相关文章推荐

    • 在python中defaultdict计算键值的和• python中dict有哪些删除的方式• defaultdict在python中接收调用对象• OrderedDict在python字典的实现• dict.setdefault()在python中设置默认值• python中defaultdict的初始化• python中__dict__的实例属性存储

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网