Python 中 __dict__的用法

有一个字典,比如http请求发过来的,比如从redis中get出来的。需要根据这个字典来构建一个对象。

class Person:
    def __init__(self,_obj):
        self.name = _obj['name']
        self.age = _obj['age']
        self.energy = _obj['energy']
        self.gender = _obj['gender']
        self.email = _obj['email']
        self.phone = _obj['phone']
        self.country = _obj['country']

 

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

class Person:
    def __init__(self,_obj):
        self.__dict__.update(_obj)

免了在__init__方法中类似于self.something = something的方法,使用自动化实例变量

其中的__init__方法传入的参数args为dict对应于实体model中的key,value

 

你可能感兴趣的:(python学习)