Python is an elegant, high-level programming language that is relatively easy to learn and includes multiplatform support.

The latter feature is important because generally as a developer you would need to learn multiple languages to cross the barrier between platforms. On mobile, for instance, Android uses Java while Apple’s iOS uses Swift or Objective-C. There are tools to easily port apps and software between separate platforms, but they come with their own set of drawbacks. It’s always better to create a native app.

1. Code Academy

Code Academy is a free, online learning center for all things programming. They offer lessons in a variety of languages and topics, not just Python.

What makes it special, is that you can write code directly in your browser and see the results pan out live. This is useful when you’re starting out because it eliminates the need to setup a development environment for practice exercises.

This portal is best suited for beginner to intermediate coders. During your time working with Python through Code Academy, you’ll build your own tip calculator tool, and a board game based on Battleship.

Python topics you will learn include common syntax, strings and console output, conditional and control flow, loops, functions, file input and output, lists and dictionaries, and much more.

Price: Free

2. TutorialsPoint

TutorialsPoint is another site like Code Academy that offers free tutorials with the option to test out code directly in a browser window.

They offer one of the most comprehensive tutorials for novice coders that will take you through the basics and beginner stages of the language all the way to expert level tasks. You will learn how to set up a Python development environment, write basic syntax, work with variables, operators and loops, and much more.

What makes TutorialsPoint’s guide so comprehensive is that it also covers advanced Python topics like database access, CGI, and game programming, the use of multithreading, XML processing, networking, GUI design, and more.

Price: Free

3. Codementor.io

Codementor is designed for intermediate to expert developers who are already working with the language in question. There are some tidbits for beginners scattered throughout, but this is certainly not a portal for novice coders to spend a majority of their time.

Each post on the site is a separate tutorial that covers a specific focus, like sorting Git Authors in an app with code, integrating Node.js with Python, using Python decorators and more.

Price: Free

4. PythonChallenge

If you’re the type of person that would much rather be challenged and put under a small amount of pressure to increase your learning capacity, PythonChallenge is right up your alley.

It isn’t the prettiest site in existence; actually, the design is downright ugly. However, the challenges and lessons you will participate in are invaluable to learning Python. There are 33 levels to master currently, with over 2,000,000 visitors to the site to date.

Price: Free

5. Google’s Python Class eBook

Due to the nature of the material, Google’s Python Class eBook is best suited for intermediate to experienced coders. It is well written and clearly explains various concepts related to Python, yet it’s more about programming theory as opposed to the practical application of it. Therefore, you won’t find any step-by-step tutorials or in-depth guides.

This makes it a great travel companion for Python developers who want to stay in the loop while they are on the move.

There are multiple books available, and you can download companion exercises to execute locally on your machine. This allows you to work with and test out different snippets of code.

Price: Free

6. Python.org

When in doubt, you can always turn to the official documentation for a language. Python.org is the official channel for the developers of Python, so you can find plenty of references, materials, and resources on working with the language.

As you’d expect, they have a great beginner’s tutorial that will walk you through the basics. Then, you’ll learn about more advanced topics like different Python libraries, distributing modules, and much more.

Price: Free

7. Learn Python the Hard Way eBook

Once again the challenge is the main focus. Learn Python the Hard Way is a free eBook that you can read in full. The online version can be accessed from any device including mobile, and is always free. If you want a paper or digital copy of the book – to read offline – you’ll need to pony up some cash ($30).

Apparently, more than 1.5 million people have read this eBook annually. That’s an impressive number, even more so if they all went on to work with Python in some form or another.

Price: Free

8. LearnPython.org

One of the first ideas we discussed is that it’s best to learn by doing. LearnPython.org has designed a platform where you can do exactly that. Rather than spend your time combing over an endless stream of text, this website allows you to participate in interactive tutorials. You get to work with the Python language right in your browser.

You’ll start with the infamous “Hello World,” tutorial and move on to more advanced topics if you stick with the course. This portal is best for beginner to intermediate level coders.

Price: Free

9. Invent with Python eBook

Another way to learn and retain knowledge is to ensure you are having fun and enjoying yourself while you do so. That’s the driving idea behind the Invent with Python eBook.

Every tutorial, tip, and lesson have to do with serving a specific purpose through the use of Python. For instance, the book

For instance, the book Invent Your Own Computer Games with Python will teach you how to make games. With each progressive lesson, the games get more complex and require a more advanced use of the language. By the time you’re done, you’ll have a firm grasp of Python – enough to strike out and build applications or games on your own.

The online versions of the books can always be accessed for free, but there are options to purchase them for access offline too, for a price.

Price: Free

10. Python for Beginners

Although Python for Beginners has been idle for some time it’s under new management. Recently, the site received a design overhaul and some new content in the form of a beginner’s Python tutorial.

As for the regular content on the site, you’ll find a long list of Python coding guides and snippets that you can use in your own projects. For this reason, the site is ideal for Python developers of all skill levels, even those with considerable experienced under their belts.

Price: Free