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

82 Mentors

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

37,812 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.

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

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 Sandor Dargo

Sandor Dargo Sandor Dargo's Blog

I like Python because it's so simple to understand it and it can read like well-written prose. Besides it's a real swiss army knife, you can use it for almost everything. Yet, it takes some time to learn writing pythonic code, but I'm happy to help you with that!
Avatar of Ashley Drake

Ashley Drake Personal Site

I enjoy writing Python at work and for personal projects; I love it's expressiveness and adaptability.
Avatar of James George

James George https://github.com/jamesgeorge007

I'm specialized in the JavaScript stack but still I have an immense love for python as well. I had experiemented with it while building stuffs like web apps, Desktop apps, 2-D games, and even messing up with ML and Data science topics. In the process I had come across a variety of libraries and had fun using them.
Avatar of Periklis Gkolias

Periklis Gkolias My blog

I am a fullstack software engineer specialising in python and javascript related technologies and a huge enthusiast of the deep learning revolution. My aim is to help people, as I would like to have been offered help when I was doing my first steps in the field.
Avatar of Cameron Wood

Cameron Wood Landing Page

Python was my first programming language; I started learning it in school and discovered a passion for the power of programming. I strongly believe that Python is one of the best languages, especially for beginners! I currently specialize in using Python for mathematics, namely numerical analysis.
Avatar of Zoid

Zoid https://github.com/zoidbergwill

I love writing Python, because I find it easy to read and write Python, and the community is generally amazing and friendly.
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.

Hamming
easy
algorithms
conditionals
filtering
logic
loops
sequences
sets
strings
Space Age
easy
conditionals
floating point numbers
integers
Rational Numbers
medium
classes
equality
floating point numbers
math
Atbash Cipher
easy
algorithms
conditionals
loops
strings
Custom Set
medium
sets
Word Count
easy
algorithms
logic
pattern recognition
strings
text formatting
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