Python
ParadigmMulti-paradigm: object-oriented,1 procedural (imperative), functional, structured, reflective
Designed byGuido van Rossum
DeveloperPython Software Foundation
First appeared20 February 19912
Stable release3.14.63 / 10 June 2026
Typing disciplineDuck, dynamic, strong;4 optional type annotations5
Memory managementGarbage-collected
OSCross-platform6
LicensePython Software Foundation License
Filename extensions.py,7 .pyc,8 .pyd,9 .pyi,10 .pyw,11 .pyz12
Websitepython.org
Major implementations
CPython, PyPy, MicroPython, CircuitPython, IronPython, Jython, Stackless Python
Dialects
Cython, RPython, Starlark13
Influenced by
ABC,14 Ada,15 ALGOL 68,16 APL,17 C,18 C++,19 CLU,20 Dylan,21 Haskell,2217 Icon,23 Lisp,24 Modula-3,1619 Perl,25 Standard ML17
Influenced
Apache Groovy, Boo, Cobra, CoffeeScript,26 D, F#, GDScript, Go, JavaScript,2728 Julia,29 Mojo,30 Nim, Ruby,31 Swift,32 V33
• Python Programming at Wikibooks

(echo:: @ )

Footnotes

  1. “General Python FAQ – Python 3 documentation”. docs.python.org. Retrieved 7 July 2024.

  2. “Python 0.9.1 part 01/21”. alt.sources archives. Archived from the original on 11 August 2021. Retrieved 11 August 2021.

  3. “Python 3.14.6 and 3.13.14 are now available!”. 10 June 2026. Retrieved 11 June 2026.

  4. “Why is Python a dynamic language and also a strongly typed language”. Python Wiki. Archived from the original on 14 March 2021. Retrieved 27 January 2021.

  5. since 3.5, but those hints are ignored, except with unofficial tools

  6. Tier 1: 64-bit Linux, macOS; 64- and 32-bit Windows Tier 2: E.g. 32-bit WebAssembly (WASI) Tier 3: 64-bit Android, iOS, FreeBSD, and (32-bit) Raspberry Pi OS
    Unofficial (or has been known to work): Other Unix-like/BSD variants) and a few other platforms^{[8]}$$^{[9]}$$^{[10]}

  7. Venners, Bill (13 January 2003). “The Making of Python”. Artima Developer. Artima. Archived from the original on 1 September 2016. Retrieved 22 March 2007.

  8. Cannon, Brett (20 February 2015). “PEP 488 – Elimination of PYO files”. Python Enhancement Proposals (PEPs). Archived from the original on 16 January 2026. Retrieved 28 February 2026. A PYC file is the bytecode file generated and read from when no optimization level is specified at interpreter startup […].pyc

  9. Ahlstrom, James C. (11 October 2001). “PEP 273 – Import Modules from Zip Archives”. Python Enhancement Proposals (PEPs). Archived from the original on 25 February 2026. Retrieved 28 February 2026. Dynamic modules have extensions like.dll,.pyd, and.so.

  10. Harper Smith, Emma (9 September 2017). “PEP 561 – Distributing and Packaging Type Information”. Python Enhancement Proposals (PEPs). Archived from the original on 7 December 2025. Retrieved 28 February 2026. ‘stubs’ - files containing only type information, empty of runtime code (the filename ends in.pyi).

  11. Hammond, Mark; von Löwis, Martin (15 March 2011). “PEP 397 – Python launcher for Windows”. Python Enhancement Proposals (PEPs). Archived from the original on 4 February 2026. Retrieved 28 February 2026. […] the ‘console’ version of the launcher is associated with.py files and the ‘windows’ version associated with.pyw files.

  12. Holth, Daniel; Moore, Paul (30 March 2013). “PEP 0441 – Improving Python ZIP Application Support”. Python Enhancement Proposals (PEPs). Archived from the original on 16 November 2015. Retrieved 12 November 2015.

  13. “Starlark Language”. bazel.build. Archived from the original on 15 June 2020. Retrieved 25 May 2019.

  14. “Why was Python created in the first place?”. General Python FAQ. Python Software Foundation. Archived from the original on 24 October 2012. Retrieved 22 March 2007. I had extensive experience with implementing an interpreted language in the ABC group at CWI, and from working with this group I had learned a lot about language design. This is the origin of many Python features, including the use of indentation for statement grouping and the inclusion of very high-level data types (although the details are all different in Python).

  15. “Ada 83 Reference Manual (raise statement)”. archive.adaic.com. Archived from the original on 22 October 2019. Retrieved 7 January 2020.

  16. Kuchling, Andrew M. (22 December 2006). “Interview with Guido van Rossum (July 1998)”. amk.ca. Archived from the original on 1 May 2007. Retrieved 12 March 2012. I’d spent a summer at DEC’s Systems Research Center, which introduced me to Modula-2+; the Modula-3 final report was being written there at about the same time. What I learned there later showed up in Python’s exception handling, modules, and the fact that methods explicitly contain ‘self’ in their parameter list. String slicing came from Algol-68 and Icon. 2

  17. “itertools – Functions creating iterators for efficient looping”. Python 3.7.17 documentation. Archived from the original on 14 June 2020. Retrieved 22 November 2016. This module implements a number of iterator building blocks inspired by constructs from APL, Haskell, and SML. 2 3

  18. van Rossum, Guido (1993). “An Introduction to Python for UNIX/C Programmers”. Proceedings of the NLUUG Najaarsconferentie (Dutch UNIX Users Group). CiteSeerX 10.1.1.38.2023. even though the design of C is far from ideal, its influence on Python is considerable.

  19. “Classes”. The Python Tutorial. Python Software Foundation. Archived from the original on 23 October 2012. Retrieved 20 February 2012. It is a mixture of the class mechanisms found in C++ and Modula-3 2

  20. Lundh, Fredrik. “Call By Object”. effbot.org. Archived from the original on 23 November 2019. Retrieved 21 November 2017. replace “CLU” with “Python”, “record” with “instance”, and “procedure” with “function or method”, and you get a pretty accurate description of Python’s object model.

  21. Simionato, Michele. “The Python 2.3 Method Resolution Order”. Python Software Foundation. Archived from the original on 20 August 2020. Retrieved 29 July 2014. The C3 method itself has nothing to do with Python, since it was invented by people working on Dylan and it is described in a paper intended for lispers

  22. Kuchling, A. M. “Functional Programming HOWTO”. Python v2.7.2 documentation. Python Software Foundation. Archived from the original on 24 October 2012. Retrieved 9 February 2012. List comprehensions and generator expressions […] are a concise notation for such operations, borrowed from the functional programming language Haskell.

  23. Schemenauer, Neil; Peters, Tim; Hetland, Magnus Lie (18 May 2001). “PEP 255 – Simple Generators”. Python Enhancement Proposals. Python Software Foundation. Archived from the original on 5 June 2020. Retrieved 9 February 2012.

  24. “More Control Flow Tools”. Python 3 documentation. Python Software Foundation. Archived from the original on 4 June 2016. Retrieved 24 July 2015. By popular demand, a few features commonly found in functional programming languages like Lisp have been added to Python. With the lambda keyword, small anonymous functions can be created.

  25. “re – Regular expression operations”. Python 3.10.6 documentation. Archived from the original on 18 July 2018. Retrieved 6 September 2022. This module provides regular expression matching operations similar to those found in Perl.

  26. “CoffeeScript”. coffeescript.org. Archived from the original on 12 June 2020. Retrieved 3 July 2018.

  27. Rauschmayer, Axel (24 February 2013). “Perl and Python influences in JavaScript”. 2ality.com. Archived from the original on 26 December 2018. Retrieved 15 May 2015.

  28. Rauschmayer, Axel. “Chapter 3: The Nature of JavaScript; Influences”. Speaking JavaScript. O’Reilly. Archived from the original on 26 December 2018. Retrieved 15 May 2015.

  29. Bezanson, Jeff; Karpinski, Stefan; Shah, Viral B.; Edelman, Alan (February 2012). “Why We Created Julia”. Julia website. Archived from the original on 2 May 2020. Retrieved 5 June 2014. We want something as usable for general programming as Python […]

  30. Krill, Paul (4 May 2023). “Mojo language marries Python and MLIR for AI development”. InfoWorld. Archived from the original on 5 May 2023. Retrieved 5 May 2023.

  31. Bini, Ola (2007). Practical JRuby on Rails Web 2.0 Projects: bringing Ruby on Rails to the Java platform. Berkeley: APress. p. 3. ISBN 978-1-59059-881-8.

  32. Lattner, Chris (3 June 2014). “Chris Lattner’s Homepage”. Chris Lattner. Archived from the original on 25 December 2018. 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.

  33. “V documentation (Introduction)”. GitHub. Retrieved 24 December 2024.