Don't use __slots__ (was Re: Problem of Readability of Python)

Steven Bethard steven.bethard at
Mon Oct 8 20:22:29 CEST 2007

Aahz wrote:
> In article <2tqdncU0D6K8v5TanZ2dnUVZ_hGdnZ2d at>,
> Steven Bethard  <steven.bethard at> wrote:
>> You can use __slots__  [...]
> Aaaugh!  Don't use __slots__!
> Seriously, __slots__ are for wizards writing applications with huuuge
> numbers of object instances (like, millions of instances).

You clipped me saying that __slots__ are for performance tweaks:

     You can use __slots__ to make objects consume less memory and have
     slightly better attribute-access performance. Classes for objects
     that need such performance tweaks should start like...

I fully agree that __slots__ are for applications with huge numbers of 
instances. But if you have that situation, you really do want to be 
using __slots__.


More information about the Python-list mailing list