Doc clarification / edification on the semantics of the 'w*' format unit.

This commit is contained in:
Larry Hastings 2015-04-13 11:30:56 -04:00
parent 8d11ccceeb
commit ab792ac704
2 changed files with 12 additions and 5 deletions

View file

@ -152,7 +152,7 @@ Unless otherwise stated, buffers are not NUL-terminated.
any conversion. Raises :exc:`TypeError` if the object is not a Unicode any conversion. Raises :exc:`TypeError` if the object is not a Unicode
object. The C variable may also be declared as :c:type:`PyObject\*`. object. The C variable may also be declared as :c:type:`PyObject\*`.
``w*`` (:class:`bytearray` or read-write byte-oriented buffer) [Py_buffer] ``w*`` (read-write :term:`bytes-like object`) [Py_buffer]
This format accepts any object which implements the read-write buffer This format accepts any object which implements the read-write buffer
interface. It fills a :c:type:`Py_buffer` structure provided by the caller. interface. It fills a :c:type:`Py_buffer` structure provided by the caller.
The buffer may contain embedded null bytes. The caller have to call The buffer may contain embedded null bytes. The caller have to call

View file

@ -88,10 +88,17 @@ Glossary
bytes-like object bytes-like object
An object that supports the :ref:`bufferobjects`, like :class:`bytes`, An object that supports the :ref:`bufferobjects`, like :class:`bytes`,
:class:`bytearray` or :class:`memoryview`. Bytes-like objects can :class:`bytearray` or :class:`memoryview`. Bytes-like objects can
be used for various operations that expect binary data, such as be used for various operations that work with binary data; these include
compression, saving to a binary file or sending over a socket. compression, saving to a binary file, and sending over a socket.
Some operations need the binary data to be mutable, in which case
not all bytes-like objects can apply. Some operations need the binary data to be mutable. The documentation
often refers to these as "read-write bytes-like objects". Example
mutable buffer objects include :class:`bytearray` and a
:class:`memoryview` of a :class:`bytearray`.
Other operations require the binary data to be stored in
immutable objects ("read-only bytes-like objects"); examples
of these include :class:`bytes` and a :class:`memoryview`
of a :class:`bytes` object.
bytecode bytecode
Python source code is compiled into bytecode, the internal representation Python source code is compiled into bytecode, the internal representation