[New-bugs-announce] [issue42088] types.SimpleNamespace.__repr__ documentation inconsistency
Ben Avrahami
report at bugs.python.org
Mon Oct 19 16:34:54 EDT 2020
New submission from Ben Avrahami <avrahami.ben at gmail.com>:
According to the documentation for types.SimpleNamespace, `repr(SimpleNamespace())` should return `"SimpleNamespace()"`, but in actuality returns `"namespace()"`. This is because SimpleNamespace is an alias for the C implemented type `_PyNamespaceObject`. Interestingly, `_PyNamespaceObject` names itself `"types.SimpleNamespace"`. This has the obvious issue of the documentation being wrong, but also the (perhaps less interesting issue) of `eval(repr(SimpleNamespace))` resulting in a NameError.
I propose that `_PyNamespaceObject`'s __repr__ method be changed to return `"SimpleNamespace(<args>)"`. This would require only the change of a constant in one line (currently this is line 75 on namespaceobject.c).
A smaller fix would be to change the documentation to correctly reflect this behavior.
----------
components: Library (Lib)
messages: 379010
nosy: avrahami.ben
priority: normal
severity: normal
status: open
title: types.SimpleNamespace.__repr__ documentation inconsistency
versions: Python 3.10
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue42088>
_______________________________________
More information about the New-bugs-announce
mailing list