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

110 Mentors

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

65,481 Students

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

117 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

The track also improved my ability to understand a problem and form questions around it

I started with the Python track which helped me to better understand the language's syntax and data structures. The track also improved my ability to understand a problem and form questions around it so that I was able to find or learn what I needed to in order to find a solution.

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 Nick Bullock

Nick Bullock https://github.com/nfbullock

I think Python is a great language for doing everyday tasks, improving mental models fundamental to computer science, and implementing really cool projects. I use it every day, and encourage others to start thinking about how it can improve their lives.
Avatar of Ivan Ladelschikov

Ivan Ladelschikov https://github.com/tsionyx

I have over 4 years of using Python in my job and I found it the most readable language ever. I'd like to help people to use the power of the language to write Pythonic code.
Avatar of Vidhi

Vidhi https://github.com/vidhisshah

I've been coding for a decade. Out of all the languages I have learnt and used, Python is my favourite.
Avatar of Alex Guglielmone Nemi (Alex Hans)

Alex Guglielmone Nemi (Alex Hans) The Living Deadline - Alex Hans Blog

With 10+ years in software/product development, I love to be in a constant learning state and to help others in their journeys. Mentoring on a site that focuses on encouraging critical skills and idiomatic code is an extremely enriching experience.
Avatar of Percy Grunwald

Percy Grunwald

As a developer that has programmed professionally for many years in many different languages, I can honestly say that the ability to write Python is always and constantly useful regardless of whether it's your main language. Python is a must-have tool for your tool belt as a developer.
Avatar of Tim Fischer

Tim Fischer

I work and play with Python, some times for a living, other times just for fun.
Fun. Challenging. Interesting

Community-sourced Python exercises

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

Gigasecond
easy
dates
time
Rational Numbers
medium
classes
equality
floating point numbers
math
Luhn
medium
algorithms
conditionals
loops
pattern matching
security
Acronym
easy
regular expressions
strings
Hamming
easy
algorithms
conditionals
filtering
logic
loops
sequences
sets
strings
Largest Series Product
easy
conditionals
logic
loops
math
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 Dog

Dog

I can not only fetch JSON, but parse it too.
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.

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

Join the Python Track