擅长:python、mysql、java
<p>可以重写<a href="http://docs.python.org/reference/datamodel.html#object.__setattr__" rel="nofollow noreferrer">__setattr__</a>以仅允许来自已定义列表的属性名。在</p>
<pre><code>class A(object):
def __setattr__(self, name, value):
allowed = ('x',)
if name in allowed:
self.__dict__[name] = value
else:
raise AttributeError('No attribute: %s' % name)
</code></pre>
<p>运行中:</p>
^{pr2}$
<P>但是,正如{{a2}所评论的,试图让Python更像java或C++的行为通常是个坏主意,并且会导致Python提供的很多好处。如果你担心可能会漏掉的打字错误,那么花时间为你的代码编写单元测试比试图限制类的使用要好得多。在</p>