擅长:python、mysql、java
<p>有一种不带属性的方法来模拟Python对象。你知道吗</p>
<pre><code>class NoAttr(object):
def __getattribute__(self, attr):
raise AttributeError("no attribute: %s" % attr)
def __setattr__(self, attr, value):
raise AttributeError("can't set attribute: %s" % attr)
def __delattr__(self, attr):
raise AttributeError("no attribute: %s" % attr)
a = NoAttr()
</code></pre>
<p>在纯Python中,这个实例<code>a</code>的行为就像没有属性的对象一样(您可以对它进行<code>hasattr</code>)。你知道吗</p>
<p>在C扩展中,可能有一种低级的方法来实现这一点:在C中实现一个类型,从病理学上阻止Python的对象实现工作。不管怎样,这里的页边空白太小了,写不出来。你知道吗</p>
<p>没有属性的预定义对象将无法达到预定义它的目的。你知道吗</p>