Python Versions

Rumman Ansari   Software Engineer   2022-10-10   5843 Share
☰ Table of Contents

Table of Content:


What is the history behind Python?

Python was released in 1991 by Guido van Rossum. The history behind the name is, in the 1970s, there was a popular BBC comedy TV show called Monty Python’s Fly Circus and Van Rossum happened to be the big fan of that show. So, when Python was developed, Rossum named the project Python.

The Python version release dates are as follows:

  • Python 1.0 - Jan 1994
  • Python 1.5 - 31 Dec 1997
  • Python 1.5.2 - April 1999
  • Python 1.6 - 05 Sep 2000
  • Python 2.0 - 16 Oct 2000
  • Python 2.0.1 - 22 Jun 2001
  • Python 2.1 - 17 Apr 2001
  • Python 2.2 - 21 Dec 2001
  • Python 2.3 - 29 Jul 2003
  • Python 2.4 - 30 Nov 2004
  • Python 2.5 - 19 Sep 2006
  • Python 2.6 - 01 Oct 2008
  • Python 2.7 - 03 Jul 2010
  • Python 3.0 - 03 Dec 2008
  • Python 3.1 - 27 Jun 2009
  • Python 3.2 - 20 Feb 2011
  • Python 3.3 - 29 Sep 2012
  • Python 3.4 - 16 Mar 2014
  • Python 3.5 - 13 Sep 2015 
  • Python 3.6 - 23 Dec 2016 
  • Python 3.7 - 27 Jun 2018
  • Python 3.8 - 14 Oct 2019

Some of the most recent final releases of versions:

  • Python 2.4.6 - 19 Dec 2008
  • Python 2.5.6 - 26 May 2011
  • Python 2.6.9 - 29 Oct 2013
  • Python 2.7.10 - 23 May 2015
  • Python 2.7.13 - 17 Dec 2016
  • Python 3.5.3 - 17 Jan 2017
  • Python 3.6.1 - 21 Mar 2017

Difference between Python2 & Python3

Print:

  • Python 2 treats “print” as statement rather a function.
  • Python 3 explicitly treats “print” as a function.

Integer Division:

  • Python 2 treats numbers without any digits. (Output of expression 3 / 2 is 1, not 1.5). To get the result 1.5, you would have to write 3.0 / 2.0.
  • Python 3 evaluates 3 / 2 as 1.5 by default, which is more intuitive for new programmers.

List Comprehension Loop Variables: Common name for the variables that is iterated over in a list comprehension as a global variable get interchanged. This is fixed in Python 3.

Unicode Strings: By default Python 3 stores strings as Unicode unlike Python 2.

Raising Exceptions: Python 3 requires different syntax for raising exceptions.

  • Python 2:raise IOError, “some error message”
  • Python3: raise IOError(“some error message”)