How does a function know the docstring of its code object?

Arnaud Delobelle arnodel at
Thu Sep 15 07:10:58 EDT 2011

Hi all,

You can do:

def foo():

function = type(lambda:0)
foo2 = function(foo.__code__, globals())
assert foo2.__doc__ == "foodoc"

I am wondering how the function constructor knows that foo.__code__
has a docstring.  I can see that

    foo.__code__.co_consts == ('foodoc',)

But I can't find where in foo.__code__ is stored the information that
the first constant in foo.__code__ is actually a docstring.


More information about the Python-list mailing list