Python: Difference between revisions
Created article 'Python' with auto-categories 🏷️ |
m Created article 'Python' with auto-categories 🏷️ |
||
Line 1: | Line 1: | ||
== Introduction == | == Introduction == | ||
'''Python''' is a high-level, interpreted, general-purpose [[programming language]] known for its readability and versatility. Created by [[Guido van Rossum]] and first released in 1991, Python emphasizes code simplicity and modularity, making it a popular choice for beginners and experts alike. The language supports multiple [[programming paradigms]], including [[object-oriented programming]], [[imperative programming]], and [[functional programming]]. | |||
Python | |||
Python's design philosophy prioritizes human-readable code, often summarized by the principle "There should be one—and preferably only one—obvious way to do it." This philosophy is encapsulated in [[The Zen of Python]], a collection of guiding principles for writing Python code. The language features a dynamic type system and automatic memory management, reducing the complexity of low-level operations. | |||
The Python ecosystem includes a vast standard library and a thriving third-party package repository, [[PyPI]] (Python Package Index), which hosts over 300,000 packages. Python is widely used in fields such as [[web development]], [[data science]], [[artificial intelligence]], [[automation]], and [[scientific computing]]. | |||
Python is | |||
== History or Background == | |||
Python's development began in the late 1980s when Guido van Rossum sought to create a successor to the [[ABC (programming language)|ABC]] language. Van Rossum aimed to address ABC's shortcomings while retaining its ease of use. Python was officially released in February 1991 as version 0.9.0, featuring exception handling, functions, and core data types like lists and dictionaries. | |||
Python | |||
Key milestones in Python's history include: | |||
Python | * '''Python 2.0 (2000)''': Introduced list comprehensions, garbage collection, and Unicode support. | ||
* | * '''Python 3.0 (2008)''': A major, backward-incompatible release that removed redundancies and improved consistency. Python 3.x became the standard, while Python 2.x reached end-of-life in 2020. | ||
* '''Python Enhancement Proposals (PEPs)''': A system for proposing and standardizing new features, such as [[PEP 8]] (style guide) and [[PEP 20]] (The Zen of Python). | |||
Python's name was inspired by the British comedy group [[Monty Python]], reflecting Van Rossum's playful approach to the language's development. | |||
== | == Technical Details or Architecture == | ||
* [ | |||
* [ | === Syntax and Semantics === | ||
* [ | Python's syntax is designed for clarity and readability, using indentation (whitespace) to define code blocks instead of braces or keywords. For example: | ||
if x > 0: | |||
print("Positive") | |||
else: | |||
print("Non-positive") | |||
Key features include: | |||
* '''Dynamic typing''': Variables do not require explicit type declarations. | |||
* '''Interpreted execution''': Code is executed line-by-line by the [[Python interpreter]]. | |||
* '''Garbage collection''': Automatic memory management via reference counting and a cycle-detecting garbage collector. | |||
=== Data Structures === | |||
Python provides built-in data structures such as: | |||
* '''Lists''': Mutable, ordered sequences. | |||
* '''Tuples''': Immutable, ordered sequences. | |||
* '''Dictionaries''': Key-value mappings. | |||
* '''Sets''': Unordered collections of unique elements. | |||
=== Standard Library === | |||
The Python standard library includes modules for: | |||
* File I/O ([[os]], [[sys]]) | |||
* Regular expressions ([[re]]) | |||
* Networking ([[socket]], [[http.client]]) | |||
* Data serialization ([[json]], [[pickle]]) | |||
=== Implementation === | |||
Python has multiple implementations: | |||
* '''CPython''': The reference implementation, written in C. | |||
* '''Jython''': Python running on the [[Java Virtual Machine]]. | |||
* '''IronPython''': Python integrated with the [[.NET Framework]]. | |||
* '''PyPy''': A just-in-time (JIT) compiler for improved performance. | |||
== Applications or Use Cases == | |||
=== Web Development === | |||
Python is widely used for [[web development]] through frameworks such as: | |||
* '''[[Django]]''': A high-level framework for rapid development. | |||
* '''[[Flask]]''': A lightweight microframework. | |||
* '''[[FastAPI]]''': A modern framework for building APIs. | |||
These frameworks leverage Python's simplicity to handle backend logic, database interactions, and templating. | |||
=== Data Science and Machine Learning === | |||
Python dominates [[data science]] and [[machine learning]] due to libraries like: | |||
* '''[[NumPy]]''': For numerical computing. | |||
* '''[[pandas]]''': For data manipulation and analysis. | |||
* '''[[scikit-learn]]''': For machine learning algorithms. | |||
* '''[[TensorFlow]]''' and '''[[PyTorch]]''': For deep learning. | |||
=== Automation and Scripting === | |||
Python's ease of use makes it ideal for: | |||
* Automating repetitive tasks (e.g., file processing). | |||
* Writing system administration scripts. | |||
* Interacting with APIs and web scraping (using [[Beautiful Soup]] or [[Scrapy]]). | |||
=== Scientific Computing === | |||
Python is used in [[scientific computing]] with tools like: | |||
* '''[[SciPy]]''': For scientific and technical computing. | |||
* '''[[Matplotlib]]''': For data visualization. | |||
* '''[[Jupyter Notebooks]]''': For interactive computing and documentation. | |||
== Relevance in Computing or Industry == | |||
Python's popularity has grown steadily, ranking as one of the most-used programming languages in surveys like the [[TIOBE Index]] and [[Stack Overflow Developer Survey]]. Its relevance stems from: | |||
* '''Ease of learning''': Python's syntax is accessible to beginners. | |||
* '''Community support''': A large, active community contributes to documentation, tutorials, and open-source projects. | |||
* '''Industry adoption''': Companies like [[Google]], [[Facebook]], and [[NASA]] use Python for various applications. | |||
=== Education === | |||
Python is a common teaching language in universities and coding bootcamps due to its readability and broad applicability. | |||
=== Open Source Contributions === | |||
Python's open-source nature encourages collaboration, with thousands of contributors improving its core and ecosystem. | |||
== See also == | |||
* [[Comparison of programming languages]] | |||
* [[List of Python software]] | |||
* [[Python Software Foundation]] | |||
* [[History of Python]] | |||
== References == | |||
</references> | |||
[[Category:Programming languages]] | [[Category:Programming languages]] | ||
[[Category:High-level programming languages]] | [[Category:High-level programming languages]] | ||
[[Category:Interpreted programming languages]] | [[Category:Interpreted programming languages]] |