Learning Resources

This page is a curated list of resources that we regularly recommend in the community. If you have a suggestion for something to add to this page, please create an issue in our meta repo, and we'll consider adding it.

Communities

r/Python

News about the Python programming language and language-related discussion.

Dan Bader's treasure trove of quizzes, tutorials and interactive content for learning Python. An absolute goldmine.

Adafruit is an open-source electronics manufacturer that makes all the components you need to start your own Python-powered hardware projects. Their official community host regular show-and-tells, provide help with your projects, and the Adafruit devs do all the CircuitPython Development right out in the open.

The Pallets Projects develop Python libraries such as the Flask web framework, the Jinja templating library, and the Click command line toolkit. Join to discuss and get help from the Pallets community.

RLBot is a community of programmers making awesome Rocket League bots. They've created a framework that you can use to write bots in a number of languages (including Python), and they host regular tournaments where botmakers can pit their creations against each other

Functional Programming is a server for discussing functional languages like Haskell, Idris, Elixir and Lisp as well as related academic fields such as type theory, category theory, proof assistants, and more!

Video tutorials

Corey has a number of exceptionally high quality tutorial series on everything from Python basics to Django and Flask.

An enormous amount of Python content for all skill levels from the most popular Python YouTuber on the web.

Guides

A Simple Guide to Git

A simple, no-nonsense guide to the basics of using Git.

The Flask Mega-Tutorial

Miguel Grinberg's fully featured mega-tutorial for learning how to create web applications with the Flask framework.

Getting Started with Python

The list of resources for programmers and non-programmers from Python's official beginners' guide

Python Developer’s Guide

This guide is a comprehensive resource for contributing to Python – for both new and experienced contributors. It is maintained by the same community that maintains Python.

Books

The Hitchhiker's Guide to Python

A best practice handbook for both novice and expert Python developers to the installation, configuration, and usage of Python on a daily basis.

A Byte of Python

A free book on programming using the Python language. It serves as a tutorial or guide to the Python language for a beginner audience. If all you know about computers is how to save text files, then this is the book for you.

Automate the Boring Stuff with Python

One of the best books out there for Python beginners. This book will teach you the basics of Python, while also teaching invaluable automation tools and techniques for solving common problems. You'll learn how to go about scraping the web, manipulating files and automating keyboard and mouse input. Ideal for an office worker who wants to make himself more useful.

Effective Python

A book that lays out 59 best practices and tips for writing excellent Python. Fantastic for intermediates.

Python Tricks

Full of useful Python tips, tricks and features. Get this if you have a good grasp of the basics and want to take your Python skills to the next level, or are a experienced programmer looking to add to your toolbelt.

Mission Python

Learn programming and Python while building a complete and awesome space-themed game using cutting-edge Python 3.6 and Pygame Zero. Extensive use of code examples, images, and walk-throughs make this a pleasure to both read and follow along. Excellent book for beginners.

Flask Web Development

Miguel Grinberg's comprehensive Flask walkthrough that has you building a complete social blogging application from scratch.

Fluent Python

A veritable tome of intermediate and advanced Python information. A must-read for any Python professional. By far the most recommended book for intermediates.

Python Cookbook

A book full of very smart problem-solving recipes for various Python topics, including moving from Python 2 to Python 3

Two Scoops of Django

Tips, tricks, and best practices for your Django project. A highly recommended resource for Django web developers.

Interactive Learning

Code Combat

Learn Python while gaming - an open-source project with thousands of contributors, which teaches you Python through a deep, top-down RPG.

exercism.io

Level up your programming skills with more than 2600 exercises across 47 programming languages, Python included. The website provides a mentored mode, where you can get your code reviewed for each solution you submit. The mentors will give you insightful advice to make you a better programmer.

University of Toronto: Learn to Program

A 2-part course that teaches Python. Primarily intended for high school students and first-year university students who want to learn programming.

MIT: Introduction to Computer Science and Programming

This MITx offering teaches computer science with Python. It covers computational thinking, algorithms, data structures and the Python programming language itself.

University of Michigan: Programming for Everybody

A 5-part specialization course that teaches Python from scratch. The course has no pre-requisites and avoids all but the simplest mathematics.

Automate the Boring Stuff with Python

The interactive course version of Al Sweigart's excellent book for beginners, taught by the author himself. This link has a discounted version of the course which will always cost 10 dollars. Thanks, Al!

Python Morsels

Learn to write more idiomatic Python code with deliberate practice! Sign up for this service and receive one short Python exercise every week. After you attempt to work through the exercise, you'll receive a number of solutions to the exercise with explanations of each one. Each exercise will include automated tests and some may include bonuses for a little more of a challenge!

Podcasts

Talk Python To Me

The essential weekly Python podcast. Michael Kennedy and a prominent name within the Python community dive into a topic that relates to their experience.

Python Bytes

A byte-sized podcast where Michael Kennedy and Brian Okken work through this week's notable Python headlines.

Podcast.__init__

The podcast about Python and the people who make it great, by Tobias Macey. Weekly long-form interviews with the creators of notable Python packages.

Test & Code

Brian Okken's weekly podcast on testing. Usually deals with Python, but also covers many language-agnostic topics from the testing and DevOps world.

Miscellaneous

GitHub's 'Good First Issue' Tag

Searching for opportunities to contribute to a Python project? GitHub repository maintainers often mark issues appropriate for novice users with the 'Good First Issue' tag. These issues can be explored directly on GitHub.

Python Cheat Sheet

A Python 3 cheat sheet with useful information and tips, as well as common pitfalls for beginners. This is a PDF.