python - __dict__的妙用

设想这样一个场景。

我有一个字典,从某个地方获取的,比如http请求发过来的,比如从redis中hgetall出来的。我要根据这个字典来构建一个对象。

比如类

[python] view plaincopy

  1. class Person:  

  2.     def __init__(self,_obj):  

  3.         self.name = _obj['name']  

  4.         self.age = _obj['age']  

  5.         self.energy = _obj['energy']  

  6.         self.gender = _obj['gender']  

  7.         self.email = _obj['email']  

  8.         self.phone = _obj['phone']  

  9.         self.country = _obj['country']  


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

[python] view plaincopy

  1. class Person:  

  2.     def __init__(self,_obj):  

  3.         self.__dict__.update(_obj)  


真是偷懒利器啊。


你可能感兴趣的:(linux,python,ipython)