A Beginner’s Guide to Python Versions
Similar to other programming languages, Python has gone through a few iterations, otherwise known as versions. Before you can fully understand the possibilities of Python, you need to understand the different versions and know which version you are using. The different versions of Python roaming the world prompt many a beginner to wonder things like
- Why are there different versions of Python?
- How are they different?
- Which version of Python should I learn?
All good questions, and let’s start with the first. A version is kind of like a car year. You can go out a buy a 1968 Ford Mustang or a 1990 Ford Mustang or a 2000 Ford Mustangs, and a 2019 Ford Mustang, They’re all Ford Mustangs. The only difference is that the one with the highest year number is the most “current” Ford Mustang. That Mustang is different from the older models in that it has some improvements based on experience with earlier models, as well as features that are current with the times.
Programming languages (and most other software products) work the same way. But as a rule programmers don’t ascribe year numbers to them, because they’re not released on a yearly basis. They’re released whenever they’re released. But the principle is the same. The version with the highest number is the newest, most recent “model,” sporting improvements based on experience with earlier versions, as well as features that are relevant to the current times.
Just as we use a decimal point with money to separate dollars from cents, we use decimal points with version numbers to indicate “how much it’s changed.” When there’s a significant change, the whole version number is usually changed. More minor changes are expressed as decimal points.
You can see how the version number increases along with the year in the following, which shows the release dates of various Python versions. A few releases have been skipped here because there is little reason to know or understand the differences between all the versions. The table is provided so you can see how newer versions have higher version numbers; that’s all that matters.
|Python 3.7||June 2018|
|Python 3.6||December 2016.|
|Python 3.5||September 2015|
|Python 3.4||March 2014|
|Python 3.3||September 2012|
|Python 3.2||February 2011|
|Python 3.1||September 2012|
|Python 3.0||December 2008|
|Python 2.7||July 2010|
|Python 2.6||October 2008|
|Python 2.0||October 2000.|
|Python 1.6||September 2000.|
|Python 1.5||February 1998|
|Python 1.0||January 1994|
If you paid close attention you may notice that Version 3.0 starts in December 2008, but Version 2.7 extends into 2010. So if versions are like car years, why the overlap?
The car years analogy is just an analogy indicating that the larger the number, the more recent the version. But in Python it’s the most recent within the main Python version. When the first number changes, that’s usually a change that’s so significant, software written in prior versions may not even work in that version.
If you happen to be a software company with a product, written in Python 2, on the market, and have millions of dollars invested in that product, you may not be too thrilled to have to start over from scratch to go with the current version. So “older versions” often continue to be supported and evolve, independent of the most recent version, to support developers and businesses that are already heavily invested in the previous version.
The biggest question on most beginners minds is “what version should I learn?” The answer to that is simple … whatever is the most current version. You’ll know what that is because when you go to the Python.org website to download Python, they will tell you what the most current stable build (version) is. That’s the one they’ll recommend, and that’s the one you should use.
The only reason to learn something like Version 2 or 2.7 or something else older would be if you’ve already been hired to work on some project, and that company requires you to learn and use a specific version. That sort of thing is rare, because as a beginner you’re not likely to already have a full-time job as a programmer. But in the messy real world there are companies heavily invested in some earlier version of a product, so when hiring, they’ll be looking for people with knowledge of that version.
Most current programmers focus on versions of Python that are current in late 2018 and early 2019, from Python 3.7 and above. Don’t worry about version differences after the first and second digits. Version 3.7.2 is similar enough go version 3.7.1 that it’s not important, especially to a beginner.
Likewise, Version 3.8 isn’t that big a jump from 3.7. So don’t worry about these miner version differences when first learning. Most of what’s in Python is the across all versions. So you need not worry about investing time in learning a version that’s obsolete or soon will be.