The important stuff that makes a good case for Python 3:
- Adittion of "yield from" allows easier programming with async I/O "a la " Node.js (using 'await')
- Standarized annotations of function arguments and return values can help in the future for type checking, optimization, etc.
Even more important stuff
- Unicode can be used in symbols. You can now use Kanji characters in your function names, to annoy your coworkers and win the International Obfuscated Python Code Contest.
Other stuff
- Minor unimportant stuff that is definitely no reason alone for switching for Python 3.
Of those, only the async I/O stuff seems compelling. But compelling it is, at least as used in Curio. It feels like this is still shaking out, with the standard library and Trio (?) alternatives, but it looks really cool.
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.
True. It is a nice thing for scientific code though. Often in a field α etc etc have a known meaning by convention and being able to write them as α rather than alpha can really make longer formulas more readable.
The important stuff that makes a good case for Python 3:
- Adittion of "yield from" allows easier programming with async I/O "a la " Node.js (using 'await')
- Standarized annotations of function arguments and return values can help in the future for type checking, optimization, etc.
Even more important stuff
- Unicode can be used in symbols. You can now use Kanji characters in your function names, to annoy your coworkers and win the International Obfuscated Python Code Contest.
Other stuff
- Minor unimportant stuff that is definitely no reason alone for switching for Python 3.