Currently, if I know that I want an `array.array` object with `itemsize` of 4
there is no way to do that without first determining what the item sizes are
for `'i'`/`'I'` and `'l'`/`'L'` on the current platform. Presumably, things
could get even more hairy with future platforms.
Below are some ideas for how to support explicit, platform-agnostic item size
specification.
Allow a non-str sequence with itemsize and signedness members to be given as
the `typecode` value.
`a = array.array((4, array.SIGNED))`
Allow a numeric `itemsize` value to be given as the first positional argument
instead of a `typecode` string, and have an optional named argument for
signedness, signed by default.
`a = array.array(4) # Signed by default.`
`a = array.array(4, signedness=array.UNSIGNED)`
Allow the "@" and "=" prefixes (same as in `struct` format strings) in
`typecode` strings. This is my least preferred because I won't always have the
typecode or prefix value choices memorized, and looking them up is an extra
step. Also, the appropriate size and signedness might be determined at runtime,
so having to write additional code to map from size/signedness to a typecode is
an unnecessary annoyance.
`a = array.array('=i') # Signed integer of "standard" integer size.`
_______________________________________________
Python-ideas mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/[email protected]/message/Y5S75LPSREFKIXJWMB66FVWDCCC546PH/
Code of Conduct: http://python.org/psf/codeofconduct/