Python



Release Date: Oct. 5, 2020

Python Online

Python is a general-purpose, versatile, and powerful programming language. It’s a great first language because it's concise and easy to read. Whatever you want to do, Python can do it. From web development to machine learning to data science, Python is the language for you. This site may not work in your browser. Please use a supported browser.

This is the stable release of Python 3.9.0

Python 3.9.0 is the newest major release of the Python programming language, and it contains many new features and optimizations.

Installer news

This is the first version of Python to default to the 64-bit installer on Windows. The installer now also actively disallows installation on Windows 7. Python 3.9 is incompatible with this unsupported version of Windows.

Major new features of the 3.9 series, compared to 3.8

Some of the new major new features and changes in Python 3.9 are:

  • PEP 573, Module State Access from C Extension Methods
  • PEP 584, Union Operators in dict
  • PEP 585, Type Hinting Generics In Standard Collections
  • PEP 593, Flexible function and variable annotations
  • PEP 602, Python adopts a stable annual release cadence
  • PEP 614, Relaxing Grammar Restrictions On Decorators
  • PEP 615, Support for the IANA Time Zone Database in the Standard Library
  • PEP 616, String methods to remove prefixes and suffixes
  • PEP 617, New PEG parser for CPython
  • BPO 38379, garbage collection does not block on resurrected objects;
  • BPO 38692, os.pidfd_open added that allows process management without races and signals;
  • BPO 39926, Unicode support updated to version 13.0.0;
  • BPO 1635741, when Python is initialized multiple times in the same process, it does not leak memory anymore;
  • A number of Python builtins (range, tuple, set, frozenset, list, dict) are now sped up using PEP 590 vectorcall;
  • A number of Python modules (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) now use multiphase initialization as defined by PEP 489;
  • A number of standard library modules (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) are now using the stable ABI defined by PEP 384.
Python

You can find a more comprehensive list in this release's 'What's New' document.

More resources

  • PEP 596, 3.9 Release Schedule
  • Report bugs at https://bugs.python.org.
  • Help fund Python and its community.

And now for something completely different

Wapcaplet: (John Cleese) Welcome! Do sit down. My name's Wapcaplet, Adrian Wapcaplet.
Mr. Simpson: how'd'y'do.
Wapcaplet: Now, Mr. Simpson... Now, I understand you want us to advertise your washing powder.
S: String.
W: String, washing powder, what's the difference. We can sell anything.
S: Good. Well I have this large quantity of string, a hundred and twenty-two thousand miles of it to be exact, which I inherited, and I thought if I advertised it...
W: Of course! A national campaign. Useful stuff, string, no trouble there.
S: Ah, but there's a snag, you see. Due to bad planning, the hundred and twenty-two thousand miles is in three inch lengths. So it's not very useful.
W: Well, that's our selling point! 'SIMPSON'S INDIVIDUAL STRINGETTES!'
S: What?
W:'THE NOW STRING! READY CUT, EASY TO HANDLE, SIMPSON'S INDIVIDUAL EMPEROR STRINGETTES - JUST THE RIGHT LENGTH!'
S: For what?
W:'A MILLION HOUSEHOLD USES!'
S: Such as?
W: Uhmm...Tying up very small parcels, attatching notes to pigeons' legs, uh, destroying household pests...
S: Destroying household pests?! How?
W: Well, if they're bigger than a mouse, you can strangle them with it, and if they're smaller than, you flog them to death with it!
S: Well surely!....
W:'DESTROY NINETY-NINE PERCENT OF KNOWN HOUSEHOLD PESTS WITH PRE-SLICED, RUSTPROOF, EASY-TO-HANDLE, LOW CALORIE SIMPSON'S INDIVIDUAL EMPEROR STRINGETTES, FREE FROM ARTIFICIAL COLORING, AS USED IN HOSPITALS!'

VersionOperating SystemDescriptionMD5 SumFile SizeGPG
Gzipped source tarballSource releasee19e75ec81dd04de27797bf3f9d918fd26724009SIG
XZ compressed source tarballSource release6ebfe157f6e88d9eabfbaf3fa92129f618866140SIG
macOS 64-bit installerMac OS Xfor OS X 10.9 and later16ca86fa3467e75bade26b8a9703c27f31132316SIG
Windows help fileWindows9ea6fc676f0fa3b95af3c5b3400120d68757017SIG
Windows x86-64 embeddable zip fileWindowsfor AMD64/EM64T/x6460d0d94337ef657c2cca1d3d9a6dd94b8387074SIG
Windows x86-64 executable installerWindowsfor AMD64/EM64T/x64b61a33dc28f13b561452f3089c87eb6328158664SIG
Windows x86-64 web-based installerWindowsfor AMD64/EM64T/x64733df85afb160482c5636ca09b89c4c81364352SIG
Windows x86 embeddable zip fileWindowsd81fc534080e10bb4172ad7ae3da52477553872SIG
Windows x86 executable installerWindows4a2812db8ab9f2e522c96c7728cfcccb27066912SIG
Windows x86 web-based installerWindowscdbfa799e6760c13d06d0c2374110aa31327384SIG

Python is a programming language.

Python can be used on a server to create web applications.

Start learning Python now »

Learning by Examples

With our 'Try it Yourself' editor, you can edit Python code and view the result.

Example

Try it Yourself »
Python

Click on the 'Try it Yourself' button to see how it works.

ArrayPython

Python File Handling

In our File Handling section you will learn how to open, read, write, and delete files.

Python Database Handling

Python

In our database section you will learn how to access and work with MySQL and MongoDB databases:

Python Exercises

Python Examples

Learn by examples! This tutorial supplements all explanations with clarifying examples.

Python Programming

Python Quiz

Test your Python skills with a quiz.

Python Reference

Python Snake

You will also find complete function and method references:

Download Python

Download Python from the official Python web site: https://python.org


Python.org Download

Kickstart your career

Python For Loop With Index

Get certified by completing the course

Get certified