有一个字典,比如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