[Python-Dev] constant/enum type in stdlib

Rob Cliffe rob.cliffe at btinternet.com
Sun Nov 28 02:07:08 CET 2010



On 28/11/2010 21:23, Greg Ewing wrote:
> Rob Cliffe wrote:
>
>> But couldn't they be presented to the Python programmer as a single 
>> type, with the implementation details hidden "under the hood"?
>
> Not in CPython, because tuple items are kept in the same block
> of memory as the object header. Because CPython can't move
> objects, this means that the size of the tuple must be known
> when the object is created.
>
But when a frozen list a.k.a. tuple would be created - either directly, 
or by setting a list's mutable flag to False which would really turn it 
into a tuple - the size *would* be known.  And since the object would 
now be immutable, there would be no requirement for its size to change.  
(My idea doesn't require additional functionality, just a different API.)
Rob Cliffe


More information about the Python-Dev mailing list