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.
Track mentors

46 Mentors

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

17,559 Students

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

107 Exercises

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

About Python

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
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}')

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 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 Vince Mutolo

Vince Mutolo https://github.com/vlmutolo

I am a physics student with interest and experience in computational methods, especially using Python. I would like to help others learn to use its expressive syntax and extensive libraries to facilitate clean and speedy development.
Avatar of Seeni

Seeni

I am Indian student developer working in Deep Learning with python. I work on python for almost all of my projects. Other languages i Use are javascript , c++
Avatar of David Jones

David Jones Website

Love python, easy to read and fun to write
Avatar of Ajo John

Ajo John https://github.com/ajomadlabs

I love Javascript. Great fan of Vuejs. Loves Open Source.
Avatar of Tobias Weber

Tobias Weber https://github.com/tewe

I came to Python for the GUI support, and I stayed because it is simple enough conceptually that humans can understand how it works.
Fun. Challenging. Interesting

Community-sourced Python exercises

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

Markdown
easy
refactoring
text formatting
Rotational Cipher
easy
logic
loops
strings
Grade School
easy
conditionals
filtering
integers
lists
sorting
strings
Kindergarten Garden
easy
arrays
classes
optional values
variables
Word Count
easy
algorithms
logic
pattern recognition
strings
text formatting
Sublist
easy
lists
loops
searching
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.

Dog

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

Corey McCandless

Big fan of homemade bread and reusable code.

Nathan Parsons

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

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

Join the Python Track