Python 中

tech2026-02-04  11

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

最新回复(0)