DEV Community

Cover image for Free Python Tutorials
Jonathan Bowman
Jonathan Bowman

Posted on • Updated on

Free Python Tutorials

Books are great. Sometimes, though, I want something less heavy and more casual. Such as a tutorial.

How do I define "tutorial" as opposed to a "book"? A tutorial is a non-intimidating, highly practical introduction that is not necessarily book-length. It is typically designed for the web, and may feel more interactive than a book.

The following tutorials are well-written and available for free online.

How to use this article: given the nature of tutorials, these are introductory in nature. So it probably wouldn't make sense to read all of them thoroughly, unless that is your joy. Instead, you might read my brief synopses, pick a few to go look at yourself, and then settle down with one or two.

Django Girls Tutorial

Django Girls

Django Girls "inspire women to fall in love with programming" and also "organize free Python and Django workshops, create open sourced online tutorials and curate amazing first experiences with technology." Their online tutorials are indeed amazingly thorough, hospitable, and helpful. I want to emphasize that the tutorial is not just for those interested in Django or web development. It includes an excellent introduction to Python that is simply one of the best out there. You can investigate the other Django Girls resources as well.

Audience: Anyone, including those new to Python or programming.

Strengths: Comprehensive, kind, hospitable.

Topics: Python fundamentals, Python installation, Django, web development.

Official Python Tutorial

Python logo

The official Python documentation includes a rather comprehensive tutorial and you can wade into it as far as you like. Then, if and when you want to dig deeper into more advanced concepts, the rest of the documentation is right there. In fact, the tutorial conveniently includes links to other part of the docs. While an introductory tutorial, I have often treated it as a reference as well, seeking it out over the years.

Audience: Those new to Python, as well as intermediate developers

Strengths: Comprehensive, part of the official docs, always up to date.

Topics: Python fundamentals, Python installation, Django, web development.

Real Python's Introduction to Python 3

Real Python

For anyone at any level of learning Python, a few bookmarks pointing to Real Python's many resources will be essential. While some resources require a paid membership, there is also a lot of free content, including introductory tutorials like Real Python's Introduction to Python 3. This tutorial series might not be one you down in one sitting, but you don't have to. Wade in, then pick up later where you left off.

Audience: Real Python has resources for nearly every audience. This tutorial is great for those new and familiar.

Strengths: Up to date, thorough, and exceedingly well written.

Topics: Python basics, Python installation, data types

Non-Programmer's Tutorial for Python 3

Python Wikibook

This is one of the most well-written and complete Wikibooks I have seen, and it happens to be an introductory Python tutorial. A close reading will give you a good start with the tools and concepts you need to program in Python.

Audience: Those new to Python, and those brushing up.

Strengths: Comprehensive, easy to read, plenty of examples

Topics: Python fundamentals

AskPython's "Start Here"


AskPython is one author's well-written blog. The Start Here link at the top of every page takes you to a two-post introduction to Python programming that is ample without being overwhelming.

Audience: Those new to Python

Strengths: Screenshots!

Topics: Python installation, PyCharm IDE, "Hello, World" and analysis.

After Hours Programming: Python

Afterhours Owl

The After Hours Programming blog features quality articles on topics related to web development. The Python tutorial there provides a gentle and practical introduction to Python, whether or not you are a web developer.

Audience: Those new to Python

Strengths: Elegance and succinctness

Topics: IDE choice, web development, Python fundamentals

Introduction to Python 3 (basics)

There are a variety of tutorials on, including Introduction to Python 3 (basics) as well as an intermediate option. I am impressed with the hands-on nature of the introductory tutorial, and the breadth. This is one that could be classified as a video series, a course, or a tutorial. Phooey on my taxonomy; I am including it here.

Audience: Those new to Python, or those wanting to "fill in the gaps."

Strengths: Breadth, visual examples, very practical

Topics: Python fundamentals, mutability, tic tac toe (you can follow along and create the game)

Ultimate Python study guide

Ultimate Python study guide

This tutorial is unusual in its structure and breadth. The Ultimate Python study guide is very modern, and rather than re-invent the wheel, will sometimes link to external resources. Most of the content, though, is original. While this may not be everyone's cup of tea, much of the tutorial is written in Python itself. Given that, this may be a good option as a 2nd tutorial.

Audience: Those who are starting out in Python, and desire a creative approach with many real examples.

Strengths: Current and creative

Topics: Python fundamentals, data structures, advanced concepts such as asyncio, threads, decorators, etc.

How To Code in Python

How To Code in Python

Digital Ocean provides this series of introductory articles to help new Python developers get started. As mentioned in my books review, it is also downloadable as a PDF or ePUB for reading offline.

Audience: Those new to Python, as well as those brushing up.

Strengths: Practical, digestable, pleasant

Topics: Python basics, installation, debugging logging, data types, hints and tips.

Other tutorials?

There are many Python tutorials freely available online, and this is just a selection. Are there current, high quality tutorials I should include in this list? Feel free to post a comment!

Top comments (1)

gravesli profile image
Info Comment hidden by post author - thread only accessible via permalink

I think you are great! i just want to discuss tech with Python developer.
I built a display machine state using Python3 with Flask!
Flask State
Should i can get some improvement suggestions from you? Thanks~

Some comments have been hidden by the post's author - find out more