Python

Python, general-purpose high-level computer programming language valued for its English-like syntax and powerful built-in data analysis and data science functions and libraries.

Dutch programmer Guido van Rossum developed Python in 1991 after expressing frustration with the limitations of the programming language ABC. Python, which he named after the British television series Monty Python’s Flying Circus, was publicly released in 1994. Although Van Rossum remained deeply involved in Python’s development until 2018, a robust community of other developers also made significant contributions.

Python’s open-source, non-proprietary nature played a pivotal role in its swift development and rising popularity. A vast community of volunteer programmers collaboratively developed thousands of modules, greatly expanding Python’s capabilities. Python has seen three primary evolutions: Python 1.0, released in 1994; Python 2.0, in 2000; and Python 3.0, in 2008. Notably, Python 3.0 is not backward-compatible with earlier versions. By the early 2020s Python had become one of the most extensively used programming languages worldwide.

The Python Software Foundation describes Python as “an interpreted, object-oriented, high-level programming language with dynamic semantics.” Unlike such languages as Java, Python is an interpreted language, indicating that its source code can be directly used and executed without needing a compiler. Python is also an object-oriented language, in contrast to functional programming languages, such as C. Object-oriented languages design software around objects, which can be real-world entities, such as cars, or abstract concepts, such as numbers. Objects are instances of a class (for example, the class “cars”) and have methods and attributes. This contrasts with languages that center on a series of functions.

Moreover, Python is defined as a high-level programming language (in opposition to low-level languages, such as assembly), which corresponds to its high level of abstraction from hardware. High-level languages are designed for human understanding and must be interpreted before they are read by machines. Finally, Python is also defined as having dynamic semantics, in contrast to a statically typed language such as C, because variable names (for example, “x”) can point to objects of any type. For instance, “x” can equal the number 3, but the same variable name can also be assigned the value of the string “car” or the value of the list [50, 150, 200].

Python’s surge in popularity has been due partly to its clear and concise syntax, which enhances readability. Python emphasizes code clarity and promotes a sense of elegance. It is prescriptive in upholding these attributes. For example, Python has a maximum recommended line length of 79 characters and a specific indentation style, which encourages the use of four white spaces while prohibiting space and tab mixing. Python’s versatility is another notable strength. Although it is primarily an object-oriented language, Python can also be harnessed for procedural or functional applications.

As a cross-platform language, Python enables applications to run on various computer systems, such as Windows, macOS, and Linux, without needing to be compiled. Similarly, although third-party Python libraries have some platform-specific functionalities, they generally remain usable across platforms. Python’s standard library facilitates a broad spectrum of applications, ranging from downloading files from the Internet to setting up an individual’s Internet server, without resorting to third-party libraries. Concurrently, the diversity of third-party libraries available has ushered Python into multiple domains, from Web development to scientific research.

Python’s dominance is particularly evident in the realms of data analysis and data science. Libraries such as NumPy, pandas, and seaborn facilitate intricate data handling, modeling, and visualization. For data science endeavors, Python’s abundant libraries, such as TensorFlow, scikit-learn, Keras, and PyBrain, empower data scientists to execute intricate models across disciplines including machine learning, natural language processing, and computer vision.

André Munro