1. Introduction
Understanding where Python came from helps explain many of its design choices, from indentation-based syntax to its 'batteries included' standard library. Python was conceived in the late 1980s as a successor to the ABC language, aiming to combine ABC's readability with proper exception handling and extensibility.
Cricket analogy: Just as T20 cricket evolved from Test cricket by keeping the core rules but fixing the pace and format for a new audience, Python kept ABC's readability while adding robust exception handling and extensibility.
Guido van Rossum began implementing Python in December 1989 at Centrum Wiskunde & Informatica (CWI) in the Netherlands, releasing version 0.9.0 in February 1991. Since then, Python has gone through major version transitions — most notably the Python 2 to Python 3 migration — and evolved into the backbone of modern data science, web development, and automation tooling.
Cricket analogy: Just as a young player debuts at a small club (CWI) in 1989 and grows into a national team backbone across formats, Python was started by Guido van Rossum in 1989 and became the backbone of data science, web dev, and automation.
2. Key Facts
- 1989: Guido van Rossum starts implementing Python as a Christmas hobby project.
- 1991: Python 0.9.0 released publicly, already featuring functions, exception handling, and core data types like list, dict, str.
- 1994: Python 1.0 released, adding functional programming tools like lambda, map, filter, and reduce.
- 2000: Python 2.0 released, introducing list comprehensions and a cycle-detecting garbage collector.
- 2008: Python 3.0 released — a deliberately backward-incompatible redesign to fix inconsistencies (e.g., print became a function, integer division and Unicode handling changed).
- 2020: Python 2 officially reaches end-of-life (January 1, 2020); the ecosystem fully consolidates around Python 3.
- Present: Python continues rapid annual releases (e.g., 3.11, 3.12, 3.13) focused on performance improvements and new language features.
3. Explanation
The name 'Python' does not come from the snake — Guido van Rossum named the language after the British comedy group Monty Python's Flying Circus, since he wanted a name that was short, unique, and slightly mysterious. This is a frequently cited piece of Python trivia and is reflected in the community's playful terminology, such as using 'spam' and 'eggs' in example code instead of 'foo' and 'bar'.
Cricket analogy: A team nicknamed after a comedy troupe rather than a fierce animal - like calling a side 'The Pythons' after Monty Python - shows Guido chose Python's name for wit, not venom, just as commentators use playful team nicknames.
The transition from Python 2 to Python 3 was one of the most significant events in the language's history. Python 3 was intentionally not fully backward-compatible with Python 2 in order to remove long-standing inconsistencies (such as the print statement vs. print() function, and inconsistent handling of text vs. bytes). This caused a prolonged, sometimes painful, multi-year migration period across the ecosystem before Python 2 support finally ended in 2020.
Cricket analogy: Switching from uncovered pitches to modern covered ones broke long-standing playing habits and forced a multi-year adjustment across the sport, much like the Python 2-to-3 print-statement-to-function change forced a painful ecosystem-wide migration finishing around 2020.
Common misconception: 'Python' refers to the snake, and the community's mascot/logo choices are unrelated to this. In fact, the language is named after Monty Python's Flying Circus — a detail often tested in trivia and interview questions about Python's history.
Exam-relevant nuance: Python 2 reached its official end-of-life on January 1, 2020. Any code or library still targeting Python 2 today is considered legacy and unsupported by the core Python maintainers.
4. Example
# Demonstrating a key Python 2 vs Python 3 behavioral difference: integer division
# In Python 3, the / operator always performs true (float) division
result = 7 / 2
print(result)
# To get Python-2-style floor division in Python 3, use //
floor_result = 7 // 2
print(floor_result)
import sys
print("Running on Python", sys.version_info.major)5. Output
3.5
3
Running on Python 36. Key Takeaways
- Python was created by Guido van Rossum, starting development in December 1989 and releasing 0.9.0 in 1991.
- The language is named after Monty Python's Flying Circus, not the snake.
- Python 2.0 (2000) added list comprehensions and garbage collection; Python 3.0 (2008) was a deliberate breaking redesign.
- Python 2 reached official end-of-life on January 1, 2020, ending official support.
- The '/' operator behaves differently between Python 2 (integer division for ints) and Python 3 (always true division).
- Python continues to evolve with regular annual releases focused on speed and new syntax features.
Practice what you learned
1. In what year was Python's first public release (0.9.0) made available?
2. The name 'Python' was chosen by Guido van Rossum in reference to:
3. What was a major motivation for releasing Python 3.0 as a backward-incompatible version in 2008?
4. When did Python 2 officially reach end-of-life (lose official support)?
5. A student says 'Python 2 and Python 3 are fully interchangeable — any Python 2 script runs unmodified on Python 3.' What is the flaw in this statement?
6. Which version introduced list comprehensions and a cycle-detecting garbage collector to Python?
Was this page helpful?
You May Also Like
Introduction to Python Programming
An overview of Python as a high-level, interpreted, general-purpose language and why it is a popular first language for beginners and professionals alike.
Features of Python
A tour of Python's core language features — dynamic typing, simplicity, portability, extensive libraries, and more — that explain its widespread adoption.
Installing Python and IDE Setup
A practical walkthrough of installing Python 3, verifying the installation, and configuring a code editor or IDE for productive development.
Common Python Interview Questions
A curated roundup of frequently asked Python interview questions with concise, accurate answers.
Related Reading
Related Study Notes in Programming
Browse all study notesApache Spark Study Notes
Programming · 30 topics
ProgrammingApache Flink Study Notes
Programming · 30 topics
ProgrammingHadoop Study Notes
Programming · 30 topics
ProgrammingSnowflake Study Notes
Programming · 30 topics
ProgrammingApache Airflow Study Notes
Programming · 30 topics
Programmingdbt (Data Build Tool) Study Notes
Programming · 30 topics