Want to learn and master Python?

Join Exercism’s Python Track for access to 140 exercises grouped into 17 Python Concepts, with automatic analysis of your code and personal mentoring, all 100% free.

Explore concepts

About Python

Python is a dynamic and strongly typed object-oriented programming language. It employs both duck typing and gradual typing (via type hints). It supports multiple programming paradigms including imperative (object-oriented, procedural) and declarative (functional, concurrent) flavors. But do not be fooled: while programming across paradigms is fully supported, everything in Python is an object.

Python was created by Guido van Rossum and first released in 1991. The Python Software Foundation manages and directs resources for Python and CPython development and receives proposals for changes to the language from members of the community via Python Enhancement Proposals or PEPs. It is considered a strong language for programmers starting their journey, with a welcoming community and many resources available to learners of all levels and persuasions.

Python puts a strong emphasis on code readability and (similar to Haskell) uses significant indentation to denote function, method, and class definitions. Code can be written and executed from the command line, in an interactive interpreter session, in JupyterLab (Jupyter notebook), or a wide variety of code editors and IDEs.

Python is used extensively in scientific computing, finance, games, networking, internet development, and in assembling pipelines of other programs.

The zen of Python (PEP 20) and What is Pythonic? lay out additional philosophies and perspectives on the language.

Tests and tooling for this track currently support 3.7 - 3.11.2 (tests) and Python 3.11.2 (tooling). It is highly recommended that students upgrade to at least Python 3.8, as some features used by this track may not be supported in earlier versions. That being said, most of the exercises will work with Python 3.6+, or even earlier versions. But we don't guarantee support for versions not listed under Active Python Releases. We will try to note when a feature is only available in a certain version.

Complete documentation for the current release of Python (3.11.x) can be found at docs.python.org.

140 coding exercises for Python on Exercism. From Yacht to Matching Brackets.


Get better at programming through fun, rewarding coding exercises that test your understanding of concepts with Exercism.

See all Python exercises on Exercism

Key Features of Python


Python

Batteries Included

Epic & well-documented standard library. Need more? Use a PyPi package - there's one for everything.

Easy

Human-friendly Syntax and a vibrant, supportive community. Quick to learn & intuitive to use.

Extensible

Need to call Fortran from a web API? Done. Need to process images using C? Python can do that.

Flexible

Duck, dynamic, & strong typing. Easy to debug. Fun for experiments, robust for large applications.

Multi-paradigm

OOP, structured, functional, & aspect-oriented. Adaptable to how you structure your programs.

Ubiquitous

Accepted for almost any use. Easily interface with other languages & execute almost everywhere.

A taste of the concepts you'll cover


See all the concepts for Python

Get mentored the Python way

Every language has its own way of doing things. Python is no different. Our mentors will help you learn to think like a Python developer and how to write idiomatic code in Python. Once you've solved an exercise, submit it to our volunteer team, and they'll give you hints, ideas, and feedback on how to make it feel more like what you'd normally see in Python - they'll help you discover the things you don't know that you don't know.

Learn more about mentoring

Community-sourced Python exercises

The Python track on Exercism has 17 concepts and 140 exercises to help you write better code. Discover new exercises as you progress and get engrossed in learning new concepts and improving the way you currently write.

See all Python exercises
Python

Get started with the Python track

The best part, it’s 100% free for everyone.