<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Nov 21, 2017 at 6:37 AM, Kirill Balunov <span dir="ltr"><<a href="mailto:kirillbalunov@gmail.com" target="_blank">kirillbalunov@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>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, <br>instead of a mixture of printable and non-printable ascii characters. It is proposed:<br><br>a) __str__ - leave unchanged<br>b) __repr__ - represent as sequence of escaped hex <br><br>>>> a = bytes([42,43,44,45,46])<br>>>> a    # Current<br>b'*+-./'<br>>>> a    # Proposed<br>b'\x2a\x2b\x2d\x2e\x2f'<br></div></div></blockquote><div><br></div><div>supposedly __repr__ is supposed to give an eval-able version -- which your proposal is. But the way you did your example indicates that:</div><div><br></div><div>bytes((42, 43, 44, 45, 46))</div><div><br></div><div>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"</div><div><br></div><div>I've been programming since quite some time ago, and hex has NEVER come naturally to me :-)</div><div><br></div><div>But backward compatibility and all that :-(</div><div><br></div><div>-CHB</div><div><br></div></div><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><br>Christopher Barker, Ph.D.<br>Oceanographer<br><br>Emergency Response Division<br>NOAA/NOS/OR&R            (206) 526-6959   voice<br>7600 Sand Point Way NE   (206) 526-6329   fax<br>Seattle, WA  98115       (206) 526-6317   main reception<br><br><a href="mailto:Chris.Barker@noaa.gov" target="_blank">Chris.Barker@noaa.gov</a></div>
</div></div>