Python 使用键作为方法(getter和setter)调用语法访问dict
在Python中 有没有一种访问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 它解决了
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
),但我认为不值得这么做。