Python
Python is a general-purpose programming language published in 1991 by Guido van Rossum. Designed with "readability and simplicity" as its top priority, it is widely used across the IT field — from web applications to data science. Its direct ancestor is ABC, an educational language developed at CWI in the Netherlands, from which Python inherited its signature features of indentation-based block structure and dynamic typing.
Origin of the name
The name Python does not come from the snake, but from the British comedy series Monty Python's Flying Circus. Guido van Rossum was a fan of the show and chose the name for his new language.
Choosing a comedy series as the name for a programming language reflects a culture of playfulness that has carried through the Python community. Python's official documentation uses sample variable names like spam, eggs, and ham — all Monty Python references.
1989–1991: The birth of Python
In December 1989, at the Centre for Mathematics and Computer Science (CWI) in the Netherlands, Guido van Rossum began developing Python as a personal project over the Christmas holiday. He had been working at CWI on ABC, an educational programming language, but ABC had extensibility limitations. The idea behind Python was to keep the best parts of ABC while making the language more flexible and practical.
Python 0.9.0 was released in 1991, already equipped with exception handling, functions, and a module system — a clear outline of the language Python would become.
Python's success was partly shaped by the lessons Guido drew from ABC's failures. ABC insisted on "one correct way to do things" so strictly that the language was hard to extend and difficult to interface with practical C libraries. Python inverted this, placing extensibility via modules, interoperability with C, and integration with the UNIX environment at the heart of the design.
Guido's design philosophy
Python's design philosophy is documented as The Zen of Python. Typing import this in Python's interactive mode prints 19 aphorisms, officially adopted as PEP 20.
| Aphorism | How it shaped the language |
|---|---|
| Readability counts. | Mandatory indentation for block structure. Reflects the reality that code is read far more than it is written |
| Explicit is better than implicit. | Mandatory self in method definitions. import * discouraged. Type hints introduced |
| There should be one obvious way to do it. | The polar opposite of Perl's "there is more than one way to do it" (TMTOWTDI) |
| Simple is better than complex. | Preference for keeping the language small over adding more features |
| Errors should never pass silently. | Design that raises exceptions rather than hiding errors |
For many years Guido served as Python's "BDFL (Benevolent Dictator For Life)" — a playful but accurate title for the person who held final authority over design decisions. In 2018, after a contentious discussion over PEP 572 (the walrus operator :=), Guido stepped down from the BDFL role. Python is now governed by a five-member Steering Council elected by the community.
Python's lineage
Python's direct ancestor is ABC, and it absorbed elements from Lisp, Modula-3, Perl, Icon, and Haskell, among others.
| Influence / Related language | Relationship to Python | Element inherited |
|---|---|---|
| ABC | Direct ancestor. The language Guido worked on at CWI | Indentation-based block structure, dynamic typing, interactive mode |
| C | CPython's implementation language. Basis for the extension API | Module system, C extension API, standard library implementation |
| Modula-3 | Influenced exception handling design | Exception syntax, package import system |
| Haskell | Influenced functional features | List comprehension syntax |
| Lisp | Influenced functional features | lambda, map(), filter(), reduce() |
| Perl | Influenced text processing | Regular expression support (the re module) |
| Icon | Influenced generators | Generator and yield syntax |
Key historical milestones
1989–1994: From inception to 1.0
Development began in December 1989 as a Christmas holiday personal project at CWI. Python 0.9.0 was published in 1991, and Python 1.0 was released in 1994. The 1.0 release already included lambda, map(), filter(), and reduce(), showing functional programming influences from the start.
2000: Python 2.0 and list comprehensions
Python 2.0 introduced list comprehensions, a syntax borrowed from Haskell that became one of Python's most iconic features for concise, readable code. Garbage collection was also added, improving memory management.
2001: Python Software Foundation established
The Python Software Foundation (PSF) was established, shifting the language from a single programmer's personal project to a community-led governance model.
2008: Python 3.0 — the backwards-incompatible overhaul
Python 3.0 was a large-scale revision that intentionally broke backward compatibility. The key changes were as follows.
| Change | Python 2 | Python 3 |
|---|---|---|
| Default string type | Byte string | Unicode string |
Statement (print "hello") | Function (print("hello")) | |
| Integer division | 3/2 = 1 (truncated) | 3/2 = 1.5 (float) |
range() | Returns a list | Returns an iterator |
The compatibility break meant the migration from Python 2 to Python 3 took 12 years (2008–2020), because so many libraries depended on Python 2. Python 2's official support ended on January 1, 2020, and Python 3 is now the only active version.
2018: Guido steps down as BDFL
Guido resigned from the BDFL role following a contentious discussion around PEP 572 (the walrus operator :=). Python is now governed by a five-member Steering Council elected by the community — a transition from a project started by one person's genius to a mature, community-run operation.
2023–: Python 3.11–3.12 performance improvements
Python 3.11 delivered an average 25% improvement in interpreter speed compared to the previous version, with further gains in 3.12. These are ongoing results of the effort to address Python's long-standing reputation as a slow language.
Modern usage
As of 2026, Python is the first-choice language in several distinct domains.
Data science and machine learning
The ecosystem of NumPy, pandas, scikit-learn, TensorFlow, and PyTorch has made Python the de facto standard language in this field. Researchers can share code directly from their papers, creating a strong feedback loop between academia and industry. Python code calls computing cores written in C and Fortran under the hood, achieving both readability and runtime performance.
Web development
Django (used by Instagram, Pinterest, and others), Flask, and FastAPI are the major web frameworks. Django is a full-stack framework with built-in admin interface generation, ORM, and authentication. FastAPI leverages Python's type hints for fast, ergonomic API development.
Automation and scripting
The standard library alone covers file operations, regular expressions, JSON processing, and HTTP communication, making it possible to write practical automation scripts without any external libraries. Python is also widely used in DevOps, CI/CD pipelines, and test automation.
Education
Python's simple, readable syntax and relatively informative error messages have made it the most common first programming language taught at universities worldwide. The fact that it scales from beginner courses all the way to professional work is a distinct characteristic.
Common misconceptions
"Python is slow"
CPython's interpreter is not as fast as compiled languages like C. However, the computing cores of major libraries such as NumPy and pandas are written in C and Fortran, and Python acts as the interface to call them. Heavy computation runs at C speeds; the Python layer is only the orchestration. Python 3.11 onward has also been making steady gains in interpreter speed.
"Python is an AI language"
Python dominates the AI and machine learning space, but not because Python has intrinsic AI capabilities. The research community chose Python as the platform for NumPy, TensorFlow, and PyTorch; Python's role in AI is a result of ecosystem accumulation. Python is a general-purpose language used in web development, scripting, education, and scientific computing as well.
"Strict indentation is hard to write"
The indentation-based block syntax feels unfamiliar at first. But it is a direct expression of Python's design philosophy "Readability counts." By requiring indentation, Python ensures that code is consistently readable no matter who writes it or in which editor. Configuring your editor to use four spaces eliminates any practical friction.
"Python 2 code still works"
Python 2's official support ended on January 1, 2020. New code should be written in Python 3. If Python 2 is still running in an existing environment, there are no security fixes being provided, which makes upgrading a necessary consideration.
Related terms
- Guido van Rossum — The designer of Python. Born in the Netherlands. After working on the ABC language at CWI, he began Python as a personal project in 1989. Served as BDFL until 2018
- BDFL (Benevolent Dictator For Life) — A playful title for the single person who held final authority over Python's design decisions. Guido's role until 2018, when he was succeeded by a five-member Steering Council
- CPython — The standard implementation of Python, written in C. What you run when you type the
pythoncommand. Alternatives include PyPy (for speed) and Jython (for the JVM) - PEP (Python Enhancement Proposal) — The document format for proposing and discussing additions and changes to Python. PEP 8 is the coding style guide, PEP 20 is The Zen of Python, PEP 572 introduced the walrus operator
- The Zen of Python — 19 aphorisms that capture Python's design philosophy, written by Tim Peters and adopted as PEP 20. Accessible via
import this - ABC — Python's direct ancestor, an educational language developed at CWI. Python inherited indentation-based block structure and dynamic typing from ABC
- PyPI (Python Package Index) — Python's package repository. Packages are installed from here via
pip install - GIL (Global Interpreter Lock) — A control mechanism in CPython that limits the number of Python threads that can execute simultaneously to one within a process. A known limitation for CPU-bound multithreaded programs. Optional disabling became available in Python 3.13
- NumPy — A library for multi-dimensional arrays and matrix operations. Its computation core is written in C, making it fast. The foundation of Python's scientific computing and machine learning libraries
- Django — A full-stack web framework with built-in admin interface generation, ORM, and authentication. Used by Instagram and Pinterest, among others