The python site details all the major differences bewteen versions. The really significant ones are the differences between python 2 and 3 in full detail, so if you’re deciding whether to work in python 3.0 or 3.1 or another version, it would be wise to check those out. Here’s a well-written evaluation of the major differences between 2 and 3, describing 2 and 3, respectively as:
Python 2.x is the status quo, Python 3.x is the shiny new thing.
While I’m not certain if programmers trying to run 2.x code in 3.x and getting syntax and runtime errors would consider that “upgrade” “shiny”, the language changes are in some ways significant and in other ways, trivial. I’ll present a small number of (fairly significant) changes that I’ve noticed here.
First off, one of the biggest is
The print command is now a function and in 3.2 must be coded as
or else the interpretor will throw an error.
worked fine in 2.7, but throws and error in 3.2.
Then there are a bunch of smaller nuance things.
For example in 2.7:
But in 3.2, the range() function still works, but has a different way of displaying the result, namely, using upper and lower bounds:
in 2.7 have been changed in 3.2 as well.
There are many more minor and major significant changes but trying to run 2.7 code with a 3.2 interpretor/compiler will almost certainly result in a series of runtime and syntax errors. I’ve attempted doing some code-learning in a seperate 3.2 file. I have a compsci_func.py file that I use to practice and write functions. The one that was coded in 2.7 generates an error practically every 3-4 lines if I try to interpret it via 3.2. While coding in 3.2 is interesting, most material is typically written for 2.7 (so for example, examples in books cease to functionally work if using 3.2), and 2.7 code throws errors, I’ll likely do most coding in 2.7. At the very least, it’s important to note that 3.2 requires practically a fresh .py and/or fresh set of functions because of the multitude of nuanced minor or trivial and major (like the print() function) changes to the language.