[New-bugs-announce] [issue23502] pprint: added support for mapping proxy
Serhiy Storchaka
report at bugs.python.org
Mon Feb 23 20:21:48 CET 2015
New submission from Serhiy Storchaka:
Mapping proxy is quite often used in building . For example types __dict__ are mapping proxy.
>>> bool.__dict__
mappingproxy({'__or__': <slot wrapper '__or__' of 'bool' objects>, '__doc__': 'bool(x) -> bool\n\nReturns True when the argument x is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.', '__xor__': <slot wrapper '__xor__' of 'bool' objects>, '__and__': <slot wrapper '__and__' of 'bool' objects>, '__rxor__': <slot wrapper '__rxor__' of 'bool' objects>, '__repr__': <slot wrapper '__repr__' of 'bool' objects>, '__new__': <built-in method __new__ of type object at 0x82a1140>, '__rand__': <slot wrapper '__rand__' of 'bool' objects>, '__str__': <slot wrapper '__str__' of 'bool' objects>, '__ror__': <slot wrapper '__ror__' of 'bool' objects>})
Mapping proxy is not a subclass of dict, so pprint doesn't print it pretty. Proposed patch adds support for mapping proxies in pprint.
>>> from pprint import pprint as pp
>>> pp(bool.__dict__)
mappingproxy({'__and__': <slot wrapper '__and__' of 'bool' objects>,
'__doc__': 'bool(x) -> bool\n'
'\n'
'Returns True when the argument x is true, False '
'otherwise.\n'
'The builtins True and False are the only two '
'instances of the class bool.\n'
'The class bool is a subclass of the class int, and '
'cannot be subclassed.',
'__new__': <built-in method __new__ of type object at 0x82a1140>,
'__or__': <slot wrapper '__or__' of 'bool' objects>,
'__rand__': <slot wrapper '__rand__' of 'bool' objects>,
'__repr__': <slot wrapper '__repr__' of 'bool' objects>,
'__ror__': <slot wrapper '__ror__' of 'bool' objects>,
'__rxor__': <slot wrapper '__rxor__' of 'bool' objects>,
'__str__': <slot wrapper '__str__' of 'bool' objects>,
'__xor__': <slot wrapper '__xor__' of 'bool' objects>})
----------
components: Library (Lib)
files: pprint_mappingproxy.patch
keywords: patch
messages: 236460
nosy: fdrake, pitrou, rhettinger, serhiy.storchaka
priority: normal
severity: normal
stage: patch review
status: open
title: pprint: added support for mapping proxy
type: enhancement
versions: Python 3.5
Added file: http://bugs.python.org/file38215/pprint_mappingproxy.patch
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue23502>
_______________________________________
More information about the New-bugs-announce
mailing list