About Python

Python was conceived in the late 1980s by Guido van Rossum at Centrum Wiskunde & Informatica (CWI) in the Netherlands as a successor to the ABC language (itself inspired by SETL) and first released in 1991. Python 2.0 was released on 16 October 2000 with many major new features, including a cycle-detecting garbage collector and support for Unicode. Python 3.0 was released on 3 December 2008. It was a major revision of the language that is not completely backward-compatible. Many of its major features were backported to Python 2.6.x and 2.7.x version series.

The final 2.x version 2.7 release came out in mid-2010, with a statement of extended support for this end-of-life release. The 2.x branch will see no new major releases after that. Python 2.7’s end-of-life date was initially set at 2015 then postponed to 2020 out of concern that a large body of existing code could not easily be forward-ported to Python 3. 3.x is under active development and has already seen over five years of stable releases, including version 3.3 in 2012, 3.4 in 2014, 3.5 in 2015, and 3.6 in 2016. This means that all recent standard library improvements, for example, are only available by default in Python 3.x.

As a language Python 3.x is definitely mature and ready for use. Some current Linux distributions and Macs still use 2.x as default, but most Linux distributions have Python 3.x already installed, and nearly all have it available for end-users. One somewhat painful exception is Red Hat Enterprise Linux through version 7. Some distributions are even phasing out Python 2 as preinstalled default. As of January 2020 Python 2 will be in EOL (End Of Life) status. So in short: Python 2.x is legacy, Python 3.x is the present and future of the language.

PEPs (Python Enhancement Proposals) are the documents/process through which Python gets enhanced and changed, over time. There are a few PEPs that could be considered required reading:

  • PEP 8: The Python Style Guide. Read this. All of it. Follow it.
  • PEP 20: The Zen of Python. A list of 19 statements that briefly explain the philosophy behind Python.
  • PEP 257: Docstring Conventions. Gives guidelines for semantics and conventions associated with Python docstrings.

References: