On 1 September 2016 at 19:36, Ethan Furman <et...@stoneleaf.us> wrote: > Deprecation of current "zero-initialised sequence" behaviour without removal > ---------------------------------------------------------------------------- > > 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, but to leave > it in place for at least as long as Python 2.7 is supported, possibly > indefinitely.
Can you clarify what “deprecate” means? Just add a note in the documentation, or make calls trigger a DeprecationWarning as well? Having bytearray(n) trigger a DeprecationWarning would be a minor annoyance for code being compatible with Python 2 and 3, since bytearray(n) is supported in Python 2. > Addition of "getbyte" method to retrieve a single byte > ------------------------------------------------------ > > This PEP proposes that ``bytes`` and ``bytearray`` gain the method > ``getbyte`` > which will always return ``bytes``:: Should getbyte() handle negative indexes? E.g. getbyte(-1) returning the last byte. > Open Questions > ============== > > Do we add ``iterbytes`` to ``memoryview``, or modify > ``memoryview.cast()`` to accept ``'s'`` as a single-byte interpretation? Or > do we ignore memory for now and add it later? Apparently memoryview.cast('s') comes from Nick Coghlan: <https://marc.info/?i=CADiSq7e=8ieyew-txf5dims_5nuaos5udv-3g_w3ltwn9wb...@mail.gmail.com>. However, since 3.5 (https://bugs.python.org/issue15944) you can call cast("c") on most memoryviews, which I think already does what you want: >>> tuple(memoryview(b"ABC").cast("c")) (b'A', b'B', b'C') _______________________________________________ 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