<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2017-11-21 20:22 GMT+03:00 Chris Barker <span dir="ltr"><<a href="mailto:chris.barker@noaa.gov" target="_blank">chris.barker@noaa.gov</a>> </span><span>wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div dir="ltr"><div>But the way you did your example indicates that:</div></div></blockquote></span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><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></div></div></blockquote><div><br></div><div>Yes, it is better, but it seemed too radical to me:) </div><div><br></div><div><br><div class="gmail_extra"><br><div class="gmail_quote">2017-11-21 18:16 GMT+03:00 Steven D'Aprano <span dir="ltr"><<a href="mailto:steve@pearwood.info" target="_blank">steve@pearwood.info</a>> wrote</span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"> I'd rather give bytes a<br> hexdump() method that returns a string:<br><br> '2a 2b 2d 2e 2f'<br><br> (possibly with optional arguments to specify the formatting).</blockquote><div><br></div><div>Since Python 3.5 bytes has a .hex() method, the same as yours .hexdump() but without spaces. But still it is a string.</div><div><br></div><div><br><div class="gmail_quote">2017-11-21 18:38 GMT+03:00 Victor Stinner <span dir="ltr"><<a href="mailto:victor.stinner@gmail.com" target="_blank">victor.stinner@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><br> While it may shock you, using bytes for "text" makes sense in some<br> areas. Please read the Motivation of the PEP 461:<br><a href="https://www.python.org/dev/peps/pep-0461/#motivation" target="_blank" rel="noreferrer">https://www.python.org/dev/<wbr>peps/pep-0461/#motivation</a><span class="gmail-HOEnZb"><font color="#888888"> </font></span></blockquote><div><br></div><div>It does not, because it is really useful feature. <span id="gmail-result_box" lang="en"><span>But rather, ascii was made so that it would fit into a byte, and not vice versa.</span></span></div><div><span lang="en"><span><br></span></span></div><div><span lang="en"><span>Nevertheless, bytes are the strangest object in Python. It looks like a string (which contains only ascii), but it is not a string,<span lang="en"><span> </span></span></span></span></div><div><span lang="en"><span><span lang="en"><span>because if you index, it does not return a byte -> bytes (b'123 '[0])! = Bytes (b'1'). May be it is closer to tuple, <span lang="en"><span><span lang="en"><span>it is also immutable,<span lang="en"><span><span lang="en"><span><span lang="en"><span><span lang="en"><span> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div><div><span lang="en"><span><span lang="en"><span><span lang="en"><span><span lang="en"><span><span lang="en"><span><span lang="en"><span><span lang="en"><span><span lang="en"><span>but bytes(3) creates a sequence b '\ x00 \ x00 \ x00', but tuple not (and what the hell is b'\x00\x00\x00'?). </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div><div><span lang="en"><span><span lang="en"><span>Maybe it has some relationship to integers but int(b'1') == 1 when bytes([int(49)]) == b'1', i.e with integers it is not a friend either. </span></span></span></span></div><div><span lang="en"><span><span lang="en"><span><br></span></span></span></span></div><div><span lang="en"><span><span lang="en"><span>It is bytes...</span></span></span></span></div><div><span lang="en"><span><span lang="en"><span><br></span></span></span></span></div><div><span lang="en"><span><span lang="en"><span>With kind regards, -gdg</span></span></span></span></div></div></div></div></div></div></div></div></div>