Data attributes...
Emile van Sebille
emile at fenx.com
Thu Jan 24 16:32:07 EST 2002
Mark McEahern wrote:
> Is this what __slots__ is for in new-style classes? (Python 2.2).
>
Yes, but to get it to work it needs to be a new style class, ie subclass
from object.
This enforces attributes in __slots__ :
>>> class Test1(object):
... __slots__ = ['a','b','c']
...
>>> t = Test1()
>>> t.d = 2
Traceback (most recent call last):
File "<stdin>", line 1, in ?
AttributeError: 'Test1' object has no attribute 'd'
but this doesn't:
>>> class Test2:
... __slots__ = ['a','b','c']
...
>>> t = Test2()
>>> t.d = 2
>>>
--
Emile van Sebille
emile at fenx.com
More information about the Python-list
mailing list