[Python-Dev] PEP 414 (original) (raw)

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