]> granicus.if.org Git - python/commitdiff
#22613: explain what "buffer" is in the struct documentation (thanks Jacques Ducasse)
authorGeorg Brandl <georg@python.org>
Fri, 31 Oct 2014 08:46:41 +0000 (09:46 +0100)
committerGeorg Brandl <georg@python.org>
Fri, 31 Oct 2014 08:46:41 +0000 (09:46 +0100)
Doc/library/struct.rst

index ec2e1beb03cd3bbe3b9f1736a63c5eb141bffe95..12d4fbcd52bc4c8e5b2bc97d1971065ce2f74d46 100644 (file)
@@ -24,6 +24,14 @@ structs and the intended conversion to/from Python values.
    or omit implicit pad bytes, use ``standard`` size and alignment instead of
    ``native`` size and alignment: see :ref:`struct-alignment` for details.
 
+Several :mod:`struct` functions (and methods of :class:`Struct`) take a *buffer*
+argument.  This refers to objects that implement the :ref:`bufferobjects` and
+provide either a readable or read-writable buffer.  The most common types used
+for that purpose are :class:`bytes` and :class:`bytearray`, but many other types
+that can be viewed as an array of bytes implement the buffer protocol, so that
+they can be read/filled without additional copying from a :class:`bytes` object.
+
+
 Functions and Exceptions
 ------------------------
 
@@ -47,7 +55,7 @@ The module defines the following exception and functions:
 
    Pack the values *v1*, *v2*, ... according to the format string *fmt* and
    write the packed bytes into the writable buffer *buffer* starting at
-   position *offset*. Note that *offset* is a required argument.
+   position *offset*.  Note that *offset* is a required argument.
 
 
 .. function:: unpack(fmt, buffer)