"help( pi )"

Gregory Ewing greg.ewing at canterbury.ac.nz
Wed Nov 22 00:47:46 EST 2017


Cameron Simpson wrote:
> one could change  implementations such that applying a docstring to an 
> object _removed_ it from  the magic-shared-singleton pool,

That's not sufficient, though. Consider:

    BUFFER_SIZE = 256
    BUFFER_SIZE.__doc__ = "Size of the buffer"

    TWO_TO_THE_EIGHT = 256
    TWO_TO_THE_EIGHT.__doc__ = "My favourite power of two"

Before the code is even run, the compiler may have merged the
two occurences of the integer literal 256 into one entry in
co_consts. By the time the docstrings are assigned, it's too
late to decide that they really needed to be different objects.

So, an int with a docstring needs to be explicitly created as
a separate object to begin with, one way or another.

-- 
Greg



More information about the Python-list mailing list