Python 使用键作为方法(getter和setter)调用语法访问dict

Python 使用键作为方法(getter和setter)调用语法访问dict,python,dictionary,setter,getter,Python,Dictionary,Setter,Getter,在Python中 有没有一种访问dict的方法,类似于在对象上调用方法的方法。场景是,我认为创建一个只有属性的类,并没有方法。我遇到了一些关于这个场景的讨论。我决定选择dict而不是class 不,我只是想了解,有没有一种方法可以访问dict的元素,类似于对象上的方法调用 mydict = {'a': 100, 'b': 20.5, 'c': 'Hello'} 而不是 mydict['a'] mydict['a'] = 200 大概 mydict.a mydict.a = 200 它解决了

在Python中

有没有一种访问dict的方法,类似于在对象上调用方法的方法。场景是,我认为创建一个只有属性的类,并没有方法。我遇到了一些关于这个场景的讨论。我决定选择
dict
而不是
class

不,我只是想了解,有没有一种方法可以访问dict的元素,类似于对象上的方法调用

mydict = {'a': 100, 'b': 20.5, 'c': 'Hello'}
而不是

mydict['a']
mydict['a'] = 200
大概

mydict.a
mydict.a = 200

它解决了一个问题,即我可以初始化和读取。但不用于设置/写入值

通过在子类中实现
\uuuu getattr\uuuu
\uuuu setattr\uuuuu
可以轻松实现这一点:

class MyDict(dict):
    def __getattr__(self, attr):
        return self[attr]
    def __setattr__(self, attr, value):
        self[attr] = value
这正是你想要的。@PaulPanzer好的,是的。你可以绕过这个问题(使用
\uuu getattribute\uuu
),但我认为不值得这么做。