Is " a is b " and " id(a) == id(b) " the same?
Aahz
aahz at pythoncraft.com
Sun Mar 16 16:05:46 EST 2003
In article <Xp1da.94293$zo2.2505671 at news2.tin.it>,
Alex Martelli <aleax at aleax.it> wrote:
>
>Yep -- you can also explicitly define attributes that are generated
>on the fly at each access and ensure this behavior (method objects
>currently _are_ generated on the fly at each access, but it's quite
>permissible for the language implementation to change and cache them
>in some cases in the future). E.g., try:
>
>class X(object):
> def __getattr__(self, name):
> if name == 'f': return []
> raise AttributeError, name
>
>or
>
>class Y(object):
> def getf(self): return []
> f = property(getf)
>
>NOW, after a=X() or a=Y(), you can choose to:
>
> assert a.f is not a.f
s/__getattr__/__getattribute__/
--
Aahz (aahz at pythoncraft.com) <*> http://www.pythoncraft.com/
Register for PyCon now! http://www.python.org/pycon/reg.html
More information about the Python-list
mailing list