Thursday, January 20, 2005

Whoever said Python wasn't dynamic?



>>> class X(object):
... isX = True
...
>>> class Y(object):
... isY = True
...
>>> x =X()
>>> x.isX
True
>>> x.__class__

>>> x.__class__ = Y
>>> x.isX
Traceback (most recent call last):
File "", line 1, in ?
AttributeError: 'Y' object has no attribute 'isX'
>>> x.isY
True
>>> x.bla = 'pir'
>>> x.bla
'pir'
>>> print x
<__main__.Y object at 0x007CACB0>
>>> x.__class__ = X
>>> x.isX
True
>>> x.bla
'pir'
>>>