[I]f you learn Python 3 then your future is very uncertain. You could really be learning a dead language and end up having to learn Python 2 anyway. […] The strings in Python 3 are very difficult to use for beginners.
By some definitions, Python 2 is already dead — it will not see another major release, only security fixes. Python 3 is still actively developed, and its seventh major release is next month. […] Bytes are not text; they are binary data that could encode anything. They happen to look like text sometimes, and you can get away with thinking they’re text if you’re not from “another country”, but that mindset will lead you to write code that is wrong. The resulting bugs will be insidious and confusing, and you’ll have a hard time even reasoning about them because it’ll seem like “Unicode text” is somehow a different beast altogether from “ASCII text”.
I’ve taken to writing new personal projects in Python 3 and very much enjoy the new documentation, features, and reduced friction when dealing with strings.