[Python-3000] Making more effective use of slice objects in Py3k
Talin
talin at acm.org
Thu Aug 31 04:35:48 CEST 2006
Josiah Carlson wrote:
> If views are always returned, then we can perform some optimizations
> (adjacent view concatenation, etc.), which may reduce running time,
> memory use, etc. If the user *needs* a string to be returned, they can
> always perform str(view). But remember, since 2.x strings are going
> away in 3.x, then it would really be bytes(view). I've looked through
> the methods available to them, and I'm happy that views are gaining
> traction, if only so that I can get view(bytes).partition() .
I know this was shot down before, but I would still like to see a
"characters" type - that is, a mutable sequence of wide characters, much
like the Java StringBuffer class - to go along with "bytes". From my
perspective, it makes perfect sense to have an "array of character" type
as well as an "array of byte" type, and since the "array of byte" is
simply called "bytes", then by extension the "array of character" type
would be called "characters".
Of course, both the 'array' and 'list' types already give you that, but
"characters" would have additional string-like methods. (However since
it is mutable, it would not be capable of producing views.)
The 'characters' data type would be particularly optimized for
character-at-a-time operations, i.e. building up a string one character
at a time. An example use would be processing escape sequences in
strings, where you are transforming the escaped string into its
non-escaped equivalent.
-- Talin
More information about the Python-3000
mailing list