我有一個從dict類繼承的類devices
。設備是詞典的詞典。我想通過使用方法調用語法來訪問它的鍵和值,以及使用正常的語法。即Python重寫字典訪問方法
class Devices(dict):
def __init__(self):
self['device'] = {'name':'device_name'}
def __getattr__(self, name):
value = self[name]
return value
...
mydevices = Devices()
mydevice = mydevices.device #works and mydevices['device'] also works
#But what code do I need for the following?
name = mydevices.device.name
mydevices.device.name = 'another_name'
我知道,如果我重寫__getattr__
和__setattr__
方法我能做到這一點,但你可以從我的代碼看,我不知道如何訪問一個嵌套的字典。 有誰知道如何做到這一點?
謝謝,labjunky
我很驚訝,你說這個代碼在所有工作。它有一些問題。也許你有另一個名爲'Devices'的類(半)工作代碼呢? –
是的你是對的,編輯。 – labjunky