[Python-Dev] Fwd: PEP 467: Minor API improvements for bytes & bytearray

Terry Reedy tjreedy at udel.edu
Mon Aug 18 22:06:06 CEST 2014


On 8/18/2014 12:04 PM, Chris Barker wrote:
> On Sun, Aug 17, 2014 at 2:41 PM, Barry Warsaw <barry at python.org
> <mailto:barry at python.org>> wrote:
>
>     I think the biggest API "problem" is that default iteration returns
>     integers
>     instead of bytes.  That's a real pain.
>
>
> what is really needed for this NOT to be a pain is a byte scalar.

The byte scalar is an int in range(256). Bytes is an array of such.

> numpy has a scalar type for every type it supports -- this is a GOOD
> THING (tm):
>
> In [53]: a = np.array((3,4,5), dtype=np.uint8)
>
> In [54]: a
> Out[54]: array([3, 4, 5], dtype=uint8)
>
> In [55]: a[1]
> Out[55]: 4
>
> In [56]: type(a[1])
> Out[56]: numpy.uint8
>
> In [57]: a[1].shape
> Out[57]: ()
>
>
> The lack of a  character type is a major source of "type errors" in
> python (the whole list of strings vs a single string problem -- both
> return a sequence when you index into them or iterate over them)

This is exactly what iterbytes would do  -- yields bytes of size 1.

> Anyway, the character ship has long since sailed, but maybe a byte
> scalar would be a good idea?
>
> And FWIW, I think the proposal does make for a better, cleaner API.

-- 
Terry Jan Reedy



More information about the Python-Dev mailing list