Adding default arguments to int.to_bytes() is both useful on its own merits and 
kind of too easy *not* to do, so...

https://bugs.python.org/issue45155
https://github.com/python/cpython/pull/28265

-Barry

> On Sep 9, 2021, at 12:12, Barry Warsaw <ba...@python.org> wrote:
> 
> Signed PGP part
> On Sep 9, 2021, at 10:56, Ethan Furman <et...@stoneleaf.us> wrote:
>> 
>> On 9/9/21 9:37 AM, Barry Warsaw wrote:
>> 
>>> While I think int.to_bytes() is pretty obscure (I knew about it, forgot 
>>> about it, and learned
>>> about it again!) I’m not so sure it’s any less obscure than a proposed 
>>> bytes.fromint().
>>> 
>>> So why don’t we just relax int.to_bytes()’s signature to include natural 
>>> default values:
>>> 
>>>     int.to_bytes(length=1, byteorder=sys.byteorder, *, signed=False)
>>> 
>>> Then I ought to be able to just do
>>> 
>>>>>> (65).to_bytes()
>>>     b’A’
>> 
>> That seems so much worse than
>> 
>>>>> bchr(65)
>>   b'A'
>> 
>> ;-)
> 
> Maybe, but given that you can *already* do the equivalent of bchr() with:
> 
>>>> (65).to_bytes(1, sys.byteorder)
> b'A'
> 
> it seems like a small stretch to make that more usable, and that would 
> outweigh adding a difficult to understand new builtin.  TOOWTDI.
> 
> In case you really want bchr():
> 
> def bchr(x):
>    return x.to_bytes(1, sys.byteorder)
> 
>>>> bchr(65)
> b’A'
> 
> Cheers,
> -Barry
> 
> 
> 

Attachment: signature.asc
Description: Message signed with OpenPGP

_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/ZQWVF2HVGNDFQFMRFLEYRZ4UVVSPLOHN/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to