zoukankan      html  css  js  c++  java
  • Python __dict__和vars()

    1 __dict__

    设想这样一个场景。有一个字典,从某个地方获取的,比如http请求发过来的,比如从redis中hgetall出来的。我要根据这个字典来构建一个对象。

    比如类

    class Person:

        def __init__(self,_obj):

            self.name = _obj['name']

            self.age = _obj['age']

    利用__dict__的特性,上面的类可以用如下的代替,代码量大大减少:

    class Person:

        def __init__(self,_obj):

            self.__dict__.update(_obj)

    2 vars()

    p1 = Person( {"name": "sysnap", "age": 21, "sub": {"1":1, "2":2} } )

    那如果通过这个实例把数据转为dict呢,答案就是用vars函数,

    xxx = vars( p1 )
    print ( xxx )

    {'age': 21, 'name': 'sysnap', 'sub': {'1': 1, '2': 2}}

  • 相关阅读:
    day 48
    40 协程 多路复用
    JQuery
    JS DOMBOM
    psotgres、timescaledb
    crontab命令
    Go语言结构体和方法
    Go语言锁的使用
    Go语言map数据结构
    ZOJ 3777 Problem Arrangement
  • 原文地址:https://www.cnblogs.com/sysnap/p/6593792.html
Copyright © 2011-2022 走看看