我想打一個字典INT,您可以訪問這樣的:覆蓋{}在python
>>> my_dict["property'] = 3
>>> my_dict.property
3
所以我做了這個一個:
class DictAsMember(dict):
def __getattr__(self, name):
return self[name]
這工作得很好,但如果你嵌套類型的字典它不工作,如:
my_dict = DictAsMember()
my_dict["property"] = {'sub': 1}
我可以訪問my_dict.property但在邏輯上我不能這樣做,因爲my_dict.property.sub道具erty是默認字典,所以我想要做的是覆蓋默認字典,所以你可以使用{}。
這可能嗎?
我發現的唯一問題就是如果你有一個數組與字典,例如: my_dict [「properties」] = [{'name':1},{'name':2}] 喲可以修改解決方法,以便考慮數組,這就是爲什麼我正在尋找一種方法來覆蓋默認詞典 – 2012-01-03 09:46:42
@Félix事情會變得更復雜一些,但列表中的字典仍然可以被包裝。我更新了我的答案,以顯示使用列表中的字典的示例。 – jcollado 2012-01-03 10:06:23