Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #13317 > unrolled thread
| Started by | Arnaud Delobelle <arnodel@gmail.com> |
|---|---|
| First post | 2011-09-15 12:10 +0100 |
| Last post | 2011-09-15 12:10 +0100 |
| Articles | 1 — 1 participant |
Back to article view | Back to comp.lang.python
How does a function know the docstring of its code object? Arnaud Delobelle <arnodel@gmail.com> - 2011-09-15 12:10 +0100
| From | Arnaud Delobelle <arnodel@gmail.com> |
|---|---|
| Date | 2011-09-15 12:10 +0100 |
| Subject | How does a function know the docstring of its code object? |
| Message-ID | <mailman.1161.1316085061.27778.python-list@python.org> |
Hi all,
You can do:
def foo():
"foodoc"
pass
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.
--
Arnaud
Back to top | Article view | comp.lang.python
csiph-web