Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #77670
| From | Antoine Pitrou <antoine@python.org> |
|---|---|
| Subject | Re: __qualname__ in python 3.3 |
| Date | 2014-09-07 13:03 +0000 |
| References | <540b3293$0$2056$426a74cc@news.free.fr> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.13847.1410094999.18130.python-list@python.org> (permalink) |
Hi,
ISE Development <isenntp <at> gmail.com> writes:
> 'code' object 'function' object
> ---------------- ------------------------------------
> co_name: test __qualname__: test
> co_name: T __qualname__: T
> co_name: method __qualname__: test.<locals>.T.method
>
> The second call corresponds to the class definition and not the call to the
> constructor (which is in fact a call to 'object.__init__', a C function
> hence not traced as a 'call' event - I checked this by disassembling the
> code object).
There's nothing wrong here. That's just the way things are implemented
internally. This may change in the future without prior notice, so
you shouldn't rely on it.
If you want to dig more, you have to look at how the hidden function ("T")
works:
>>> def f():
... class T: pass
...
>>> f.__code__.co_consts
(None, <code object T at 0x7f4d9d0f4a00, file "<stdin>", line 2>, 'T')
>>> dis.dis(f.__code__.co_consts[1])
2 0 LOAD_NAME 0 (__name__)
3 STORE_NAME 1 (__module__)
6 LOAD_CONST 0 ('f.<locals>.T')
9 STORE_NAME 2 (__qualname__)
12 LOAD_CONST 1 (None)
15 RETURN_VALUE
Regards
Antoine.
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
__qualname__ in python 3.3 ISE Development <isenntp@gmail.com> - 2014-09-06 18:13 +0200
Re: __qualname__ in python 3.3 Peter Otten <__peter__@web.de> - 2014-09-06 18:47 +0200
Re: __qualname__ in python 3.3 ISE Development <isenntp@gmail.com> - 2014-09-06 19:09 +0200
Re: __qualname__ in python 3.3 Peter Otten <__peter__@web.de> - 2014-09-06 20:11 +0200
Re: __qualname__ in python 3.3 Antoine Pitrou <antoine@python.org> - 2014-09-07 13:03 +0000
Re: __qualname__ in python 3.3 ISE Development <isenntp@gmail.com> - 2014-09-08 00:25 +0200
csiph-web