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}}

 

相关文章:

  • 2021-08-06
  • 2022-01-02
  • 2021-11-29
  • 2021-11-03
  • 2021-10-19
  • 2022-12-23
  • 2021-06-27
猜你喜欢
  • 2021-12-19
  • 2022-01-24
  • 2021-10-05
  • 2022-02-01
  • 2021-09-27
  • 2021-12-21
  • 2022-12-23
相关资源
相似解决方案