Python

Join the Python Track
Python is a clear and powerful object-oriented programming language with an elegant and easy-to-read syntax. It is ideal for prototyping and ad-hoc tasks, but also sees wide use in scientific computing, web development, and automation.
Join the Python Track
Track mentors

155 Mentors

Our mentors are friendly, experienced Python developers who will help teach you new techniques and tricks.
Track students

99,230 Students

Join thousands of students who have enjoyed learning and improving their skills by taking this track.
Track exercises

118 Exercises

Hundreds of hours have gone into making these exercises fun, useful, and challenging to help you enjoy learning.

About Python

prices = {'apple': 0.75, 'egg': 0.50}
cart = {
  'apple': 1,
  'egg': 6
}

bill = sum(prices[item] * cart[item]
           for item in cart)

print(f'I have to pay {bill:.2f}')

Python is a strong language for beginners.

There are many resources available for programmers of all levels, the code is highly readable, and in many cases phrases are comparable to those in the English language.

Code can be written and executed from the command line, in an interactive IPython session, or in a Jupyter (IPython) notebook.

The most common form of Python is compiled in C; this is often invisible to the beginning programmer, but if there are uses for which exceptionally fast implementation is needed then C extensions can be written to optimize Python execution.

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

Python was started by Guido van Rossum in 1989; its name is an homage to the comedy troupe Monty Python.

This track uses Python 3. It is highly recommended that students upgrade to at least Python 3.6 as some features used by this track may not be supported in earlier version of Python.

Python development is shepherded by The Python Software Foundation and there are active community-based user groups worldwide.

Join the Python track

I really like the ability to look at other people's solutions.

I'm working through the F# and Python tracks at the moment. Really like the ability to look at other people's solutions. I've had some helpful comments from others too.

Relaxed. Encouraging. Supportive.

Meet the Python Track mentors

Once you join the Python language track, you will receive support and feedback from our team of mentors. Here are the bios of a few of the mentors of this track.

Avatar of Batuhan Taşkaya

Batuhan Taşkaya https://github.com/BTaskaya

Over 6 years Python experience with high Object Orianted skills. Developed Compilers & Restful API's & CLI Apps & Games & Frameworks. Familiar with CPython Source Code (especially Memory Management & Garbage Collecting Techniques)
Avatar of Abel Binoop

Abel Binoop YouTube Channel

Python was one of the first languages I had ever learned, and it taught me that code can be beautiful and fun to write. I'm a big fan of Python, but also a big fan of sharing knowledge. I'm not an expert, but I'm more than happy to help people out in a Python adventure of their own!
Avatar of Gokul Chittaranjan

Gokul Chittaranjan http://github.com/gokulchittaranjan

Have over a decade of experience working with Python.
Avatar of Nat Knight

Nat Knight website

I've used Python professionally and academically for nearly ten year. I like the language for its consistency and its flexibility. I like its community for its emphasis on being approachable.
Avatar of Cameron MacDonald

Cameron MacDonald GitLab

Python was my very first language and is still one of my favorites to write in. It's super simple to understand, easy to translate pseudocode to, and wonderfully verbose in its errors. Join me in the Python cult!
Avatar of Peter Tillemans

Peter Tillemans https://github.com/ptillemans

I am an electronics engineer and language geek who learned programming on an hp-41 and C-64. Now I do mostly java, javascript, python, rust and haskell. I believe that code should sing its intent so the last row in the hall understands the last syllable.
Fun. Challenging. Interesting

Community-sourced Python exercises

These are a few of the 118 exercises on the Python track. You can see all the exercises here.

Sum Of Multiples
easy
integers
math
SGF Parsing
medium
parsing
trees
Scrabble Score
easy
games
loops
maps
strings
Rail Fence Cipher
easy
algorithms
cryptography
lists
text formatting
Collatz Conjecture
easy
loops
math
Transpose
easy
algorithms
strings
transforming
Passionate. Knowledgeable. Creative.

Meet the Python Track maintainers

The Python Maintainers are the brains behind the Python Track. They spend their spare time creating interesting and challenging exercises that we can all learn from. We are incredibly grateful for their hard work. Here are the bios of a few of the maintainers of this track.

Avatar of Michael Morehouse

Michael Morehouse My Techie Blog

Although Python wasn't my first -- and won't be my last -- programming language, it remains my favorite for introducing others to the joys, the pains, the infrequent ecstacies, and the occasional terrors of life before the REPL.
Avatar of Corey McCandless

Corey McCandless

Big fan of homemade bread and reusable code.
Avatar of Dog

Dog

I can not only fetch JSON, but parse it too.

Get started with the Python track. As with everything on Exercism, it's 100% free!

Join the Python Track