Python (programming language)

Python
Python logo and wordmark.svg
ParadigmMulti-paradigm: object-oriented,[1] procedural (imperative), functional, structured, reflective
Designed byGuido van Rossum
DeveloperPython Software Foundation
First appearedFebruary 1991 (1991-02)[2]
Stable release
3.9.4[3] Edit this on Wikidata / 4 April 2021 (4 April 2021)
Preview release
3.10.0a7[4] Edit this on Wikidata / 6 April 2021 (6 April 2021)
Typing disciplineDuck, dynamic, strong typing;[5] gradual (since 3.5, but ignored in CPython)[6]
OSLinux, macOS, Windows 8 and later
and more
LicensePython Software Foundation License
Filename extensions.py, .pyi, .pyc, .pyd, .pyo (prior to 3.5),[7] .pyw, .pyz (since 3.5)[8]
Websitewww.python.org
Major implementations
CPython, PyPy, Stackless Python, MicroPython, CircuitPython, IronPython, Jython
Dialects
Cython, RPython, Starlark[9]
Influenced by
ABC,[10] Ada,[11] ALGOL 68,[12] APL,[13] C,[14] C++,[15] CLU,[16] Dylan,[17] Haskell,[18] Icon,[19] Java,[20] Lisp,[21] Modula-3,[15] Perl, Standard ML[13]
Influenced
Apache Groovy, Boo, Cobra, CoffeeScript,[22] D, F#, Genie,[23] Go, JavaScript,[24][25] Julia,[26] Nim, Ring,[27] Ruby,[28] Swift[29]

Python is an interpreted high-level general-purpose programming language. Python's design philosophy emphasizes code readability with its notable use of significant indentation. Its language constructs as well as its object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects.[30]

Python is dynamically-typed and garbage-collected. It supports multiple programming paradigms, including structured (particularly, procedural), object-oriented and functional programming. Python is often described as a "batteries included" language due to its comprehensive standard library.[31]

Guido van Rossum began working on Python in the late 1980s, as a successor to the ABC programming language, and first released it in 1991 as Python 0.9.0.[32] Python 2.0 was released in 2000 and introduced new features, such as list comprehensions and a garbage collection system using reference counting and was discontinued with version 2.7.18 in 2020.[33] Python 3.0 was released in 2008 and was a major revision of the language that is not completely backward-compatible and much Python 2 code does not run unmodified on Python 3.

Python consistently ranks as one of the most popular programming languages.[34][35][36][37][38]

  1. ^ "General Python FAQ — Python 3.9.2 documentation". docs.python.org. Retrieved 28 March 2021.
  2. ^ Cite error: The named reference guttag was invoked but never defined (see the help page).
  3. ^ "Python 3.9.4 hotfix is now available". 4 April 2021. Retrieved 5 April 2021.
  4. ^ "Python 3.10.0a7 is now available for testing". 6 April 2021. Retrieved 6 April 2021.
  5. ^ "Why is Python a dynamic language and also a strongly typed language - Python Wiki". wiki.python.org. Retrieved 27 January 2021.
  6. ^ "PEP 483 -- The Theory of Type Hints". Python.org.
  7. ^ File extension .pyo was removed in Python 3.5. See PEP 0488
  8. ^ Holth, Moore (30 March 2014). "PEP 0441 -- Improving Python ZIP Application Support". Retrieved 12 November 2015.
  9. ^ "Starlark Language". Retrieved 25 May 2019.
  10. ^ Cite error: The named reference faq-created was invoked but never defined (see the help page).
  11. ^ "Ada 83 Reference Manual (raise statement)".
  12. ^ Cite error: The named reference 98-interview was invoked but never defined (see the help page).
  13. ^ a b "itertools — Functions creating iterators for efficient looping — Python 3.7.1 documentation". docs.python.org.
  14. ^ Cite error: The named reference AutoNT-1 was invoked but never defined (see the help page).
  15. ^ a b Cite error: The named reference classmix was invoked but never defined (see the help page).
  16. ^ Cite error: The named reference effbot-call-by-object was invoked but never defined (see the help page).
  17. ^ Cite error: The named reference AutoNT-2 was invoked but never defined (see the help page).
  18. ^ Cite error: The named reference AutoNT-3 was invoked but never defined (see the help page).
  19. ^ Cite error: The named reference AutoNT-4 was invoked but never defined (see the help page).
  20. ^ Cite error: The named reference AutoNT-5 was invoked but never defined (see the help page).
  21. ^ Cite error: The named reference AutoNT-6 was invoked but never defined (see the help page).
  22. ^ "CoffeeScript". coffeescript.org.
  23. ^ "The Genie Programming Language Tutorial". Retrieved 28 February 2020.
  24. ^ "Perl and Python influences in JavaScript". www.2ality.com. 24 February 2013. Retrieved 15 May 2015.
  25. ^ Rauschmayer, Axel. "Chapter 3: The Nature of JavaScript; Influences". O'Reilly, Speaking JavaScript. Retrieved 15 May 2015.
  26. ^ Cite error: The named reference Julia was invoked but never defined (see the help page).
  27. ^ Ring Team (4 December 2017). "Ring and other languages". ring-lang.net. ring-lang.
  28. ^ Cite error: The named reference bini was invoked but never defined (see the help page).
  29. ^ Lattner, Chris (3 June 2014). "Chris Lattner's Homepage". Chris Lattner. Retrieved 3 June 2014. The Swift language is the product of tireless effort from a team of language experts, documentation gurus, compiler optimization ninjas, and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas. Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.
  30. ^ Cite error: The named reference AutoNT-7 was invoked but never defined (see the help page).
  31. ^ Cite error: The named reference About was invoked but never defined (see the help page).
  32. ^ Rossum, Guido Van (20 January 2009). "The History of Python: A Brief Timeline of Python". The History of Python. Retrieved 5 March 2021.
  33. ^ Peterson, Benjamin (20 April 2020). "Python Insider: Python 2.7.18, the last release of Python 2". Python Insider. Retrieved 27 April 2020.
  34. ^ TIOBE index (December 2020). "TIOBE Index for December 2020". TIOBE.com. Retrieved 20 December 2020.
  35. ^ "index | TIOBE - The Software Quality Company". www.tiobe.com. Retrieved 2 February 2021. Python has won the TIOBE programming language of the year award! This is for the fourth time in the history, which is a record! The title is awarded to the programming language that has gained most popularity in one year.
  36. ^ "Stack Overflow Developer Survey 2020". Stack Overflow. Retrieved 5 March 2021.
  37. ^ "The State of Developer Ecosystem in 2020 Infographic". JetBrains: Developer Tools for Professionals and Teams. Retrieved 5 March 2021.
  38. ^ "PYPL PopularitY of Programming Language index". pypl.github.io. Retrieved 26 March 2021.