Python __dict__和vars()
1?__dict__
設(shè)想這樣一個場景。有一個字典,從某個地方獲取的,比如http請求發(fā)過來的,比如從redis中hgetall出來的。我要根據(jù)這個字典來構(gòu)建一個對象。
比如類
class Person:
??? def __init__(self,_obj):
??????? self.name = _obj['name']
??????? self.age = _obj['age']
?
利用__dict__的特性,上面的類可以用如下的代替,代碼量大大減少:
class Person:
??? def __init__(self,_obj):
??????? self.__dict__.update(_obj)
?
2 vars()
p1 = Person( {"name": "sysnap", "age": 21, "sub": {"1":1, "2":2} } )
那如果通過這個實(shí)例把數(shù)據(jù)轉(zhuǎn)為dict呢,答案就是用vars函數(shù),
xxx = vars( p1 )
print ( xxx )
{'age': 21, 'name': 'sysnap', 'sub': {'1': 1, '2': 2}}
?
轉(zhuǎn)載于:https://www.cnblogs.com/sysnap/p/6593792.html
總結(jié)
以上是生活随笔為你收集整理的Python __dict__和vars()的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux之nfs服务
- 下一篇: python:collections模块