有一个字典,比如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的__dict__属性简化对象构建的方法,通过直接更新对象的__dict__属性,可以避免在初始化方法中逐个设置实例变量,从而减少代码量。
8854

被折叠的 条评论
为什么被折叠?



