擅长:python、mysql、java
<p>我能想出一个办法。每当需要绕过自定义属性访问时,请使用<code>object.__getattribute__</code>(或任何超类)。在</p>
<pre><code>class C(object):
def __init__(self):
self._log = []
def __getattribute__(self, attr):
_log = object.__getattribute__(self, '_log')
_log.append(attr)
return object.__getattribute__(self, attr)
>>> a = C()
>>> a.x = 1
>>> a.x
1
>>> a._log
['x', '_log']
</code></pre>