Author josh.r
Recipients ethan.furman, josh.r, r.david.murray, serhiy.storchaka
Date 2014-03-14.21:40:16
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1394833216.59.0.221214106415.issue20895@psf.upfronthosting.co.za>
In-reply-to
Content
I would think the argument for deprecation is that usually, people type bytes(7) or bytes(somesmallintvalue) expecting to create a length one bytes object using that value (happens by accident if you iterate a bytes object and forget it's an iterable of ints, not an iterable of len 1 bytes). It's really easy to forget to make it bytes([7]) or bytes((7,)) or what have you. If you make the same mistake with str, list, tuple, etc., you get an error, because they only accept iterables. But bytes silently behaves in a way that is inconsistent with the other sequence types.

Given that b'\0' * 7 is usually faster in any event (by avoiding lookup costs to find the bytes constructor) and more intuitive to people familiar with the Python sequence idiom, I could definitely see this as a redundancy that does nothing but confuse.
History
Date User Action Args
2014-03-14 21:40:16josh.rsetrecipients: + josh.r, r.david.murray, ethan.furman, serhiy.storchaka
2014-03-14 21:40:16josh.rsetmessageid: <1394833216.59.0.221214106415.issue20895@psf.upfronthosting.co.za>
2014-03-14 21:40:16josh.rlinkissue20895 messages
2014-03-14 21:40:16josh.rcreate