擅长:python、mysql、java
<p>如果您想做到这一点并且仍然获得字典的优势,我将子类<code>dict</code>:</p>
<pre><code>class Container(dict):
def __getattr__(self, name):
return self[name]
def __setattr__(self, name, value):
self[name] = value
x = Container()
x.a = 42
x.b = ['Hitch', 'Hiker']
print(x)
</code></pre>
<p>印刷品:</p>
<pre><code>{'b': ['Hitch', 'Hiker'], 'a': 42}
</code></pre>
<hr/>
<p>您可能希望单独处理现有属性,以便仍然可以更改它们:</p>
<pre><code>def __setattr__(self, name, value):
if name not in dir(self):
self[name] = value
else:
super().__setattr__(name, value)
</code></pre>