- Functions Defined
- Compound Data Types
- Intuitive Interpretation
- All the Flow You’d Expect
- Quick & Easy to Learn
- Get Started
- Download
- Docs
- Jobs
- Latest News
- Download the latest version of Python
- Sources
- Alternative Implementations
- History
- Release Schedules
- Information about specific ports, and developer info
- OpenPGP Public Keys
- Other Useful Items
- Want to contribute?
- Functions Defined
- Compound Data Types
- Intuitive Interpretation
- All the Flow You’d Expect
- Quick & Easy to Learn
- Get Started
- Download
- Docs
- Jobs
- Latest News
- Functions Defined
- Compound Data Types
- Intuitive Interpretation
- All the Flow You’d Expect
- Quick & Easy to Learn
- Get Started
- Download
- Docs
- Jobs
- Latest News
Functions Defined
The core of extensible programming is defining functions. Python allows mandatory and optional arguments, keyword arguments, and even arbitrary argument lists. More about defining functions in Python 3
# Python 3: List comprehensions >>> fruits = ['Banana', 'Apple', 'Lime'] >>> loud_fruits = [fruit.upper() for fruit in fruits] >>> print(loud_fruits) ['BANANA', 'APPLE', 'LIME'] # List and the enumerate function >>> list(enumerate(fruits)) [(0, 'Banana'), (1, 'Apple'), (2, 'Lime')]
Compound Data Types
Lists (known as arrays in other languages) are one of the compound data types that Python understands. Lists can be indexed, sliced and manipulated with other built-in functions. More about lists in Python 3
# Python 3: Simple arithmetic >>> 1 / 2 0.5 >>> 2 ** 3 8 >>> 17 / 3 # classic division returns a float 5.666666666666667 >>> 17 // 3 # floor division 5
Intuitive Interpretation
Calculations are simple with Python, and expression syntax is straightforward: the operators + , — , * and / work as expected; parentheses () can be used for grouping. More about simple math functions in Python 3.
# For loop on a list >>> numbers = [2, 4, 6, 8] >>> product = 1 >>> for number in numbers: . product = product * number . >>> print('The product is:', product) The product is: 384
All the Flow You’d Expect
Python knows the usual control flow statements that other languages speak — if , for , while and range — with some of its own twists, of course. More control flow tools in Python 3
# Simple output (with Unicode) >>> print("Hello, I'm Python!") Hello, I'm Python! # Input, assignment >>> name = input('What is your name?\n') What is your name? Python >>> print(f'Hi, .') Hi, Python.
Quick & Easy to Learn
Experienced programmers in any other language can pick up Python very quickly, and beginners find the clean syntax and indentation structure easy to learn. Whet your appetite with our Python 3 overview.
Python is a programming language that lets you work quickly and integrate systems more effectively. Learn More
Get Started
Whether you’re new to programming or an experienced developer, it’s easy to learn and use Python.
Download
Python source code and installers are available for download for all versions!
Docs
Documentation for Python’s standard library, along with tutorials and guides, are available online.
Jobs
Looking for work or have a Python related position that you’re trying to hire for? Our relaunched community-run job board is the place to go.
Latest News
Download the latest version of Python
All Python releases are Open Source. Historically, most, but not all, Python releases have also been GPL-compatible. The Licenses page details GPL-compatibility and Terms and Conditions.
Sources
For most Unix systems, you must download and compile the source code. The same source code archive can also be used to build the Windows and Mac versions, and is the starting point for ports to all other platforms.
Download the latest Python 3 source.
Alternative Implementations
This site hosts the «traditional» implementation of Python (nicknamed CPython). A number of alternative implementations are available as well.
History
Python was created in the early 1990s by Guido van Rossum at Stichting Mathematisch Centrum in the Netherlands as a successor of a language called ABC. Guido remains Python’s principal author, although it includes many contributions from others.
Release Schedules
See Status of Python Versions for all an overview of all versions, including unsupported.
Information about specific ports, and developer info
OpenPGP Public Keys
Source and binary executables are signed by the release manager or binary builder using their OpenPGP key. Release files for currently supported releases are signed by the following:
- Thomas Wouters (3.12.x and 3.13.x source files and tags) (key id: A821E680E5FA6305)
- Pablo Galindo Salgado (3.10.x and 3.11.x source files and tags) (key id: 64E628F8D684696D)
- Steve Dower (Windows binaries) (key id: FC62 4643 4870 34E5)
- Łukasz Langa (3.8.x and 3.9.x source files and tags) (key id: B269 95E3 1025 0568)
- Ned Deily (macOS binaries, 3.7.x / 3.6.x source files and tags) (key ids: 2D34 7EA6 AA65 421D, FB99 2128 6F5E 1540, and Apple Developer ID DJ3H93M7VJ)
- Larry Hastings (3.5.x source files and tags) (key id: 3A5C A953 F73C 700D)
- Benjamin Peterson (2.7.z source files and tags) (key id: 04C3 67C2 18AD D4FF and A4135B38)
Release files for older releases which have now reached end-of-life may have been signed by one of the following:
- Anthony Baxter (key id: 0EDD C5F2 6A45 C816)
- Georg Brandl (key id: 0A5B 1018 3658 0288)
- Martin v. Löwis (key id: 6AF0 53F0 7D9D C8D2)
- Ronald Oussoren (key id: C9BE 28DE E6DF 025C)
- Barry Warsaw (key ids: 126E B563 A74B 06BF, D986 6941 EA5B BD71, and ED9D77D5)
You can import a person’s public keys from a public keyserver network server you trust by running a command like:
or, in many cases, public keys can also be found at keybase.io. On the version-specific download pages, you should see a link to both the downloadable file and a detached signature file. To verify the authenticity of the download, grab both files and then run this command:
gpg --verify Python-3.6.2.tgz.asc
Note that you must use the name of the signature file, and you should use the one that’s appropriate to the download you’re verifying.
Other Useful Items
- Looking for 3rd party Python modules? The Package Index has many of them.
- You can view the standard documentation online, or you can download it in HTML, PostScript, PDF and other formats. See the main Documentation page.
- Information on tools for unpacking archive files provided on python.org is available.
- Tip: even if you download a ready-made binary for your platform, it makes sense to also download the source. This lets you browse the standard library (the subdirectory Lib) and the standard collections of demos (Demo) and tools (Tools) that come with it. There’s a lot you can learn from the source!
- There is also a collection of Emacs packages that the Emacsing Pythoneer might find useful. This includes major modes for editing Python, C, C++, Java, etc., Python debugger interfaces and more. Most packages are compatible with Emacs and XEmacs.
Want to contribute?
Want to contribute? See the Python Developer’s Guide to learn about how Python development is managed.
- About
- Applications
- Quotes
- Getting Started
- Help
- Python Brochure
- All releases
- Source code
- Windows
- macOS
- Other Platforms
- License
- Alternative Implementations
- Docs
- Audio/Visual Talks
- Beginner’s Guide
- Developer’s Guide
- FAQ
- Non-English Docs
- PEP Index
- Python Books
- Python Essays
- Diversity
- Mailing Lists
- IRC
- Forums
- PSF Annual Impact Report
- Python Conferences
- Special Interest Groups
- Python Logo
- Python Wiki
- Code of Conduct
- Community Awards
- Get Involved
- Shared Stories
- Arts
- Business
- Education
- Engineering
- Government
- Scientific
- Software Development
- Python News
- PSF Newsletter
- PSF News
- PyCon US News
- News from the Community
- Python Events
- User Group Events
- Python Events Archive
- User Group Events Archive
- Submit an Event
- Developer’s Guide
- Issue Tracker
- python-dev list
- Core Mentorship
- Report a Security Issue
Functions Defined
The core of extensible programming is defining functions. Python allows mandatory and optional arguments, keyword arguments, and even arbitrary argument lists. More about defining functions in Python 3
# Python 3: List comprehensions >>> fruits = ['Banana', 'Apple', 'Lime'] >>> loud_fruits = [fruit.upper() for fruit in fruits] >>> print(loud_fruits) ['BANANA', 'APPLE', 'LIME'] # List and the enumerate function >>> list(enumerate(fruits)) [(0, 'Banana'), (1, 'Apple'), (2, 'Lime')]
Compound Data Types
Lists (known as arrays in other languages) are one of the compound data types that Python understands. Lists can be indexed, sliced and manipulated with other built-in functions. More about lists in Python 3
# Python 3: Simple arithmetic >>> 1 / 2 0.5 >>> 2 ** 3 8 >>> 17 / 3 # classic division returns a float 5.666666666666667 >>> 17 // 3 # floor division 5
Intuitive Interpretation
Calculations are simple with Python, and expression syntax is straightforward: the operators + , — , * and / work as expected; parentheses () can be used for grouping. More about simple math functions in Python 3.
# For loop on a list >>> numbers = [2, 4, 6, 8] >>> product = 1 >>> for number in numbers: . product = product * number . >>> print('The product is:', product) The product is: 384
All the Flow You’d Expect
Python knows the usual control flow statements that other languages speak — if , for , while and range — with some of its own twists, of course. More control flow tools in Python 3
# Simple output (with Unicode) >>> print("Hello, I'm Python!") Hello, I'm Python! # Input, assignment >>> name = input('What is your name?\n') What is your name? Python >>> print(f'Hi, .') Hi, Python.
Quick & Easy to Learn
Experienced programmers in any other language can pick up Python very quickly, and beginners find the clean syntax and indentation structure easy to learn. Whet your appetite with our Python 3 overview.
Python is a programming language that lets you work quickly and integrate systems more effectively. Learn More
Get Started
Whether you’re new to programming or an experienced developer, it’s easy to learn and use Python.
Download
Python source code and installers are available for download for all versions!
Docs
Documentation for Python’s standard library, along with tutorials and guides, are available online.
Jobs
Looking for work or have a Python related position that you’re trying to hire for? Our relaunched community-run job board is the place to go.
Latest News
Functions Defined
The core of extensible programming is defining functions. Python allows mandatory and optional arguments, keyword arguments, and even arbitrary argument lists. More about defining functions in Python 3
# Python 3: List comprehensions >>> fruits = ['Banana', 'Apple', 'Lime'] >>> loud_fruits = [fruit.upper() for fruit in fruits] >>> print(loud_fruits) ['BANANA', 'APPLE', 'LIME'] # List and the enumerate function >>> list(enumerate(fruits)) [(0, 'Banana'), (1, 'Apple'), (2, 'Lime')]
Compound Data Types
Lists (known as arrays in other languages) are one of the compound data types that Python understands. Lists can be indexed, sliced and manipulated with other built-in functions. More about lists in Python 3
# Python 3: Simple arithmetic >>> 1 / 2 0.5 >>> 2 ** 3 8 >>> 17 / 3 # classic division returns a float 5.666666666666667 >>> 17 // 3 # floor division 5
Intuitive Interpretation
Calculations are simple with Python, and expression syntax is straightforward: the operators + , — , * and / work as expected; parentheses () can be used for grouping. More about simple math functions in Python 3.
# For loop on a list >>> numbers = [2, 4, 6, 8] >>> product = 1 >>> for number in numbers: . product = product * number . >>> print('The product is:', product) The product is: 384
All the Flow You’d Expect
Python knows the usual control flow statements that other languages speak — if , for , while and range — with some of its own twists, of course. More control flow tools in Python 3
# Simple output (with Unicode) >>> print("Hello, I'm Python!") Hello, I'm Python! # Input, assignment >>> name = input('What is your name?\n') What is your name? Python >>> print(f'Hi, .') Hi, Python.
Quick & Easy to Learn
Experienced programmers in any other language can pick up Python very quickly, and beginners find the clean syntax and indentation structure easy to learn. Whet your appetite with our Python 3 overview.
Python is a programming language that lets you work quickly and integrate systems more effectively. Learn More
Get Started
Whether you’re new to programming or an experienced developer, it’s easy to learn and use Python.
Download
Python source code and installers are available for download for all versions!
Docs
Documentation for Python’s standard library, along with tutorials and guides, are available online.
Jobs
Looking for work or have a Python related position that you’re trying to hire for? Our relaunched community-run job board is the place to go.
Latest News