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

64 Mentors

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

22,542 Students

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

108 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.

Python 2 is used widely but support may end by 2020; it is highly recommended that beginners use Python 3 (they are similar, but users will encounter some differences).

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 David Carroll

David Carroll https://github.com/axesilo

My primary professional language is Python, which I like for its flexibility and expressiveness, but I also enjoy using Rust because of its power and high-quality tooling. I'm a former CS professor.
Avatar of Michael Anderson

Michael Anderson https://github.com/usufruct

I use Python at work. If Python were ordering a hot dog in Chicago it would know for certain whether ketchup is a proper condiment.
Avatar of Joao Machado

Joao Machado https://github.com/jvmachadorj

Everyday Python keeps surprising me with the simple! I work professionally with python and I do some side projects as well and I want to share my knowledge with the world! And learn in the way!
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 Steven Hans

Steven Hans https://github.com/schmerziel

Everytime I wanted to do some quick automation I always choose python because it is simple, relatively easy, and fast enough to do the automation. This has saved me a lot of painful time if I were to do it myself manually. I also like java and currently learning some C.
Avatar of Ryan Palo

Ryan Palo https://github.com/rpalo

I use Python to do data analysis, engineering, physics, and design calculations for work. I also use Python because it’s simple and clean and nice and I love it!
Fun. Challenging. Interesting

Community-sourced Python exercises

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

Circular Buffer
easy
algorithms
classes
conditionals
exception handling
queues
Difference Of Squares
easy
math
Pig Latin
easy
conditionals
loops
regular expressions
strings
text formatting
Queen Attack
easy
arrays
exception handling
games
logic
matrices
Go Counting
medium
classes
control flow
parsing
tuples
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 Nathan Parsons

Nathan Parsons

Python fits with how I think and allows me to quickly write powerful, maintainable, and extensible code.
Avatar of Dog

Dog

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