Python Programming Language: Difference between revisions

From GM-RKB
Jump to navigation Jump to search
No edit summary
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
A [[Python Programming Language]] is a [[general-purpose programming language|general-purpose]], [[high-level programming language|high-level]] [[dynamic programming language]] managed by the [[Python Software Foundation]].
A [[Python Programming Language]] is a [[general-purpose programming language|general-purpose]], [[high-level programming language|high-level]] [[dynamic programming language]] managed by the [[Python Software Foundation]].
* <B>Context</U>:</B>
* <B>Context:</B>
** It can (typically) be used to define [[Python Code]] (such as [[Python program]] or a [[Python library]]) with [[Python statement]]s (for [[Python variable]]s, [[Python data structure]]s, and [[Python conditional statement]]s) that can be interpreted by a [[Python Interpreter]].
** It can typically be used to define [[Python Code]] (such as [[Python program]] or a [[Python library]]) with [[Python statement]]s (for [[Python variable]]s, [[Python data structure]]s, and [[Python conditional statement]]s) that can be interpreted by a [[Python Interpreter]].
** It can (often) be an [[Interpreted Programming Language]] (unlike, [[Cython]]).
** It can typically implement a [[Clean Syntax]] with [[indentation-based block structure]] for improved [[code readability]].
** It can (typically) include [[Python Standard Librari]]es.
** It can typically support multiple [[Programming Paradigm]]s including [[object-oriented programming]], [[functional programming]], [[procedural programming]], and [[imperative programming]].
** It can typically provide [[Dynamic Typing]] where [[variable type]]s are determined at [[runtime]] rather than [[compile time]].
** It can typically include [[Automatic Memory Management]] with [[garbage collection]] to handle [[object lifecycle]].
** It can typically implement [[First-Class Function]]s that can be [[assigned to variable]]s, [[passed as argument]]s, and [[returned from function]]s.
** ...
** It can often be an [[Interpreted Programming Language]] (unlike, [[Cython]]).
** It can often be used for [[Rapid Prototyping]] due to its [[development speed]] and [[concise syntax]].
** It can often leverage [[Extension Module]]s written in [[C language]] or [[C++]] for [[performance-critical operation]]s.
** It can often support [[Cross-Platform Development]] with consistent [[behavior]] across [[operating system]]s.
** It can often be employed in [[Data Science]] for [[data analysis]], [[statistical modeling]], and [[machine learning]].
** ...
** It can range from being a [[Scripting Language]] for [[automation task]]s to being an [[Application Development Language]] for [[enterprise application]]s.
** It can range from being a [[Teaching Language]] in [[educational setting]]s to being a [[Production Language]] in [[commercial environment]]s.
** It can range from being a [[Simple Implementation]] with [[basic functionality]] to being a [[Complex Implementation]] with [[advanced feature]]s, depending on its [[implementation variation]].
** It can range from having [[Few Third-Party Package]]s to having [[Extensive Ecosystem]]s of [[specialized library]]s, depending on its [[development stage]].
** ...
** It can typically include [[Python Standard Librari]]es.
** It can be parsed by a [[Python Parser]] (e.g. in a [[Python implementation]], such as [[CPython]]).
** It can be parsed by a [[Python Parser]] (e.g. in a [[Python implementation]], such as [[CPython]]).
**
** It can have a [[Python Package Index]] ([[PyPI]]) for [[third-party package distribution]].
* <B>Example(s):</B>  
** It can have [[Python Enhancement Proposal]]s ([[PEP]]s) that document [[language design decision]]s and [[proposed feature]]s.
** [[Python v1]].
** It can have a [[GIL]] ([[Global Interpreter Lock]]) in its [[CPython implementation]] that affects [[multithreaded performance]].
*** [[Python v1.0]] (~1994-01).
** It can have a [[Python Community]] that contributes to its [[language development]] and [[ecosystem growth]].
*** ...
** ...
** [[Python v2]].
* <B>Examples:</B>
*** [[Python v2.0]] (~1997-12-31).
** [[Python Version]]s, such as:
*** [[Python v2.1]] (~2000-09-05).
*** [[Python v1]], such as:
*** [[Python v2.6]] (~2008-10-01).
**** [[Python v1.0]] (~1994-01).
*** [[Python v2.7]] (~2010-07-03).
**** ...
*** [[Python v2.7.14]] (~2017-09-16) [https://www.python.org/downloads/release/python-2714/].
*** [[Python v2]], such as:
*** …
**** [[Python v2.0]] (~1997-12-31).
** [[Python v3]].
**** [[Python v2.1]] (~2000-09-05).
*** [[Python v3.0]] (~2008-12-03).
**** [[Python v2.6]] (~2008-10-01).
*** [[Python v3.5]] (~2015-09-13).
**** [[Python v2.7]] (~2010-07-03).
*** [[Python v3.6.4]] (~2017-12-12) [https://www.python.org/downloads/release/python-364/].
**** [[Python v2.7.14]] (~2017-09-16) [https://www.python.org/downloads/release/python-2714/].
*** [[Python v3.8.1]] (~2019-12-18) [https://www.python.org/downloads/release/python-381]
**** …
*** [[Python v3.11.4]] (~2023-06-06) [https://www.python.org/downloads/release/python-3114]
*** [[Python v3]], such as:
*** …
**** [[Python v3.0]] (~2008-12-03).
**** [[Python v3.5]] (~2015-09-13).
**** [[Python v3.6.4]] (~2017-12-18) [https://www.python.org/downloads/release/python-364/].
**** [[Python v3.8.1]] (~2019-12-18) [https://www.python.org/downloads/release/python-381]
**** [[Python v3.11.4]] (~2023-06-06) [https://www.python.org/downloads/release/python-3114]
**** …
** [[Python Implementation]]s, such as:
*** [[CPython]], the [[reference implementation]] written in [[C language]].
*** [[PyPy]], with [[just-in-time compilation]] for [[improved performance]].
*** [[Jython]], running on the [[Java Virtual Machine]].
*** [[IronPython]], integrated with the [[.NET Framework]].
*** [[MicroPython]], for [[microcontroller]] and [[resource-constrained environment]]s.
** [[Python Application Domain]]s, such as:
*** [[Web Development Framework]]s, such as [[Django]], [[Flask]], and [[FastAPI]].
*** [[Data Science Tool]]s, such as [[NumPy]], [[Pandas]], and [[SciPy]].
*** [[Machine Learning Framework]]s, such as [[TensorFlow]], [[PyTorch]], and [[scikit-learn]].
*** [[Game Development Librari]]es, such as [[Pygame]] and [[Panda3D]].
*** [[System Administration Tool]]s, such as [[Ansible]] and [[Salt]].
** ...
** ...
* <B>Counter-Example(s)</B>
* <B>Counter-Examples:</B>
** [[Scala Language]], [[Perl Language]], [[R Language]], [[Java Language]], [[Ruby Language]], [[Julia Language]], [[JavaScript Language]], ...
** [[Statically Typed Language]]s with [[explicit type declaration]]s, such as [[Java Language]], [[C++ Language]], and [[Go Language]].
* <B>See:</B> [[Python Library]], [[Python Shell]], [[CPython]].
** [[Compiled Programming Language]]s that [[translate to machine code]] directly, such as [[C Language]], [[Rust Language]], and [[Swift Language]].
** [[Domain-Specific Language]]s with [[specialized usage]], such as [[SQL]], [[R Language]], and [[MATLAB]].
** [[Perl Language]], [[JavaScript]], [[Ruby Language]], [[Julia Language]], [[TypeScript]], which are [[alternative dynamic language]]s with [[different design philosophy]]s.
** [[Python-Like Language]]s that [[borrow syntax]] but have [[different semantics]], such as [[Boo Language]] and [[Cobra Language]].
* <B>See:</B> [[Python Library]], [[Python Shell]], [[CPython]], [[Type Hinting Library]], [[Python Virtual Environment]], [[Python Decorator]], [[Python Generator]], [[Python Comprehension]], [[Python Interpreter]], [[Python Bytecode]].


----
----
Line 53: Line 90:
__NOTOC__
__NOTOC__
[[Category:Concept]]
[[Category:Concept]]
[[Category:Programming Language]]
[[Category:Software Development]]
[[Category:Quality Silver]]

Latest revision as of 04:43, 2 March 2025

A Python Programming Language is a general-purpose, high-level dynamic programming language managed by the Python Software Foundation.



References

2018

  1. "All Python releases are Open Source"

2015

2009

  • http://www.python.org/
    • Python is a dynamic object-oriented programming language that can be used for many kinds of software development. It offers strong support for integration with other languages and tools, comes with extensive standard libraries, and can be learned in a few days. Many Python programmers report substantial productivity gains and feel the language encourages the development of higher quality, more maintainable code.
    • Python runs on Windows, Linux/Unix, Mac OS X, OS/2, Amiga, Palm Handhelds, and Nokia mobile phones. Python has also been ported to the Java and .NET virtual machines.
    • Python is distributed under an OSI-approved open source license that makes it free to use, even for commercial products.