On Tue, Nov 21, 2017 at 6:37 AM, Kirill Balunov <kirillbalu...@gmail.com>
wrote:

> Currently, __repr__ and __str__ representation of bytes is the same.
> Perhaps it is worth making them different, this will make it easier to
> visually perceive them as a container of integers from 0 to 255,
> instead of a mixture of printable and non-printable ascii characters. It
> is proposed:
>
> a) __str__ - leave unchanged
> b) __repr__ - represent as sequence of escaped hex
>
> >>> a = bytes([42,43,44,45,46])
> >>> a    # Current
> b'*+-./'
> >>> a    # Proposed
> b'\x2a\x2b\x2d\x2e\x2f'
>

supposedly __repr__ is supposed to give an eval-able version -- which your
proposal is. But the way you did your example indicates that:

bytes((42, 43, 44, 45, 46))

would be an even better __repr__, if the goal is to make it clear and easy
that it is a "container of integers from 0 to 255"

I've been programming since quite some time ago, and hex has NEVER come
naturally to me :-)

But backward compatibility and all that :-(

-CHB



-- 

Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

chris.bar...@noaa.gov
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to