<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Nov 21, 2017 at 11:22 AM, Chris Barker <span dir="ltr"><<a href="mailto:chris.barker@noaa.gov" target="_blank">chris.barker@noaa.gov</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 class="gmail_extra"><div class="gmail_quote"><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></div></div></blockquote><div><br></div><div>I wonder if for repr-synonyms, a format specifier to `repr()` could toggle how the object chooses to display itself would be handy:</div><div><br></div><div>x = b'*+-./'</div><div>repr(x) # b'*+-./'</div><div>repr(x, bytes.REPR_HEX_STRING) # b'\x2a\x2b\x2c\x2d\x2e'</div><div>repr(x, bytes.REPR_BYTES) # bytes([42, 43, 44, 45, 46])</div><div>repr(x, bytes.REPR_HEX_BYTES) # bytes([0x2A, 0x2B, 0x2C, 0x2D, 0x2E])</div><div><br></div><div>Kinda like `format()` but such that all of `eval(repr(x, <whatever>))` are equal.</div></div></div></div>