[Python-Dev] PEP 414

Lennart Regebro regebro at gmail.com
Sat Mar 3 07:28:42 CET 2012


On Sat, Mar 3, 2012 at 04:22, Vinay Sajip <vinay_sajip at yahoo.co.uk> wrote:
> It can also have some downsides, at least according to some points of view. For
> example, I regard elevating "native strings" to undue prominence, and the
> continued use of u'xxx' in Python 3 code, as unfortunate consequences. For
> example, with PEP 414, it will be possible to mix Unicode with and without
> prefix - how would that not be at least a little confusing for users new to
> Python? Remember, "native strings" are a Python-only concept.

This is true, new users will see 'foo', r'foo', b'foo', and will
naturally assume u'foo' is something special too, and will have to be
told it is not. But that's an unfortunate effect of Python 3 making
the change to Unicode strings, a change that *removed* a lot of other
much more confusing things.

So the question is if you have any proposal that is *less* confusing
while still being practical. Because we do need to distinguish between
binary, Unicode and "native" strings. Isn't this the least confusing
solution?

The only way we could have avoided this "three strings" situation is
by actually removing native strings from Python for at least five
years, and only used b'' or u''. That would not have been any less
confusing.

//Lennart


More information about the Python-Dev mailing list