dict字尾 擴充套件Dict類的正確方法是什麼?

2021-10-18 18:44:14 字數 1017 閱讀 9362

我想用一組預定義的有效鍵實現兩個不同的字典。另外,一本詞典包含另一本。class otherdict (dict):

_keys = ['a','b']

def __init__(self):

for key in self._keys:

self[key] = none

def populatedict(self):

self['b'] = 10

self['a'] = 12

class mydict(dict):

_keys = ['r','ed']

def __init__(self):

for key in self._keys:

self[key] = none

def __getitem__(self, key):

if key not in self._keys:

raise exception("'" + key + "'" + " is not a valid key")

dict.__getitem__(self,key)

def __setitem__(self, key, value):

if key not in self._keys:

raise exception("'" + key + "'" + " is not a valid key")

dict.__setitem__(self,key,value)

def populatedict(self):

d = otherdict()

d.populatedict()

self['r'] = 3

self['ed'] = d

a = mydict()

a.populatedict()

print a['ed'].__class__ #prints

問題是,由於某種原因,我無法訪問位於「ed」鍵下的詞典。我在這裡做錯什麼了?

我還注意到,如果刪除__getitem__()方法,**將正常工作

dict字典 dict的操作

1.字典 dict 用 來表示 鍵值對資料 唯一性 鍵 都必須是可雜湊的 不可變的資料型別就可以當做字典中的鍵 值 沒有任何限制 1.1 字典的建立 1 dic 2 fromkeys fromkeys 函式用於建立乙個新字典,以序列 seq 中的每個元素做字典的鍵,value 為字典所有鍵對應的初始...

python類中實現dict的功能

dict的賦值和取值,形如 賦值test key value 取值test key 這兩個表達方式的本質是類中的兩個例項方法 setitem 和 getitem 直接上 class testsetandget kk def setitem self,key,value self.kk key val...

dict的基本使用

語法如下 1 dict1 2 print dir dict1 34 獲取到所有的key值5 print dict1.keys 6 for key in dict1.keys 7 print key 89 獲取所有的value值10 for value in dict1.values 11 print...