On 7 June 2016 at 21:56, Nick Coghlan <ncogh...@gmail.com> wrote: > On 7 June 2016 at 14:33, Paul Sokolovsky <pmis...@gmail.com> wrote: >> Ethan Furman <et...@stoneleaf.us> wrote: >>> Deprecation of current "zero-initialised sequence" behaviour >>> ------------------------------------------------------------ >>> >>> Currently, the ``bytes`` and ``bytearray`` constructors accept an >>> integer argument and interpret it as meaning to create a >>> zero-initialised sequence of the given size:: >>> >>> >>> bytes(3) >>> b'\x00\x00\x00' >>> >>> bytearray(3) >>> bytearray(b'\x00\x00\x00') >>> >>> This PEP proposes to deprecate that behaviour in Python 3.6, and >>> remove it entirely in Python 3.7. >> >> Why the desire to break applications of thousands and thousands of >> people? > > Same argument as any deprecation: to make existing and future defects > easier to find or easier to debug. > > That said, this is the main part I was referring to in the other > thread when I mentioned some of the constructor changes were > potentially controversial and probably not worth the hassle - it's the > only one with the potential to break currently working code, while the > others are just a matter of choosing suitable names.
An argument against deprecating bytearray(n) in particular is that this is supported in Python 2. I think I have (ab)used this fact to work around the problem with bytes(n) in Python 2 & 3 compatible code. _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com