What you really notice in the syntax is the print statement and changing the syntax of the exception. 2to3 will handle it all.
This will not cause you any headaches. This usually comes from breaking strings into binary bytes and Unicode strings. 2to3 can't handle this.
So syntax changes are not something you need to worry about. :)
Then there are minor changes in the syntax, tons of small changes in various functions and a huge reorganization of the standard library, most of which is processed by 2to3.
There is no canonical summary of all afaik changes, although I tried to make one in my new book . There may be some misses, but there you go.
Lennart Regebro
source share