Problem of Readability of Python

Steven D'Aprano steve at REMOVE-THIS-cybersource.com.au
Sun Oct 7 19:12:29 EDT 2007


On Sun, 07 Oct 2007 13:24:14 -0700, Alex Martelli wrote:

> And yes, you CAN save about 1/3 of those 85 nanoseconds by having
> '__slots__=["zop"]' in your class A(object)... but that's the kind of
> thing one normally does only to tiny parts of one's program that have
> been identified by profiling as dramatic bottlenecks

Seems to me that:

class Record(object):
    __slots__ = ["x", "y", "z"]


has a couple of major advantages over:

class Record(object):
    pass


aside from the micro-optimization that classes using __slots__ are faster 
and smaller than classes with __dict__.

(1) The field names are explicit and self-documenting;
(2) You can't accidentally assign to a mistyped field name without Python 
letting you know immediately.


Maybe it's the old Pascal programmer in me coming out, but I think 
they're big advantages.


-- 
Steven.



More information about the Python-list mailing list