Hacker News new | ask | show | jobs
by eyelidlessness 3294 days ago
They don't, they care about `str` being unicode and developers not having to do additional work to support unicode strings.
2 comments

Strings can be unicode in Python2, you start a unicode string with u".

Python2​ has full unicode support. While Python3 supports only unicode strings.

I was thinking through my response to this, and realized that I would just be repeating what I already said.

Is there any reason to require extra work to support unicode strings?

I've come into large python2 projects which had been started with non-unicode strings (because the initial developers didn't think about it). At some point a user with non-English characters invariably signs up and then shortly complains. It has been significant work to (1) convert everything that should be converted to unicode (2) re-train the developers to use the unicode syntax.
Python 3 has, more or less, just renamed unicode() to str() and str() to bytes(). unicode() support was already complete in Python 2. The rename is not a user-facing feature.
String literals are unicode by default, which they were not before.