Resources for Learning Python
Useful learning resources for the Python programming language.
Online Videos
The PyVideo site is an index of free videos on Python and related topics.
Corey Schafer’s YouTube channel provides introductory tutorials for getting started with Python and programming.
Books
The Official Python Documentation
The official documentation for Python includes both reference guides and tutorials for the language and the standard library.
This documentation is provided with many distributions of Python, and you can download the whole set as an ebook in PDF or EPUB formats.
Learning Python
There are several excellent books for learning Python, including three that you can read for free online:
- Automate the Boring Stuff with Python, which includes a gentle introduction to programming, before explaining specific projects
- How to Code in Python offers more detailed tutorials for learners
- Dive Into Python 3 provides a quick start for those people with some previous experience of programming
If you are teaching children, buy a copy of Teach Your Kids to Code by Bryson Payne.
Beyond the Basics
Once you are ready to build your own projects, read Serious Python. This book provides practical guidance for writing, testing and delivering Python applications.
After you have worked with Python for a while, buy a copy of Fluent Python. This book will enable you to write idiomatic and efficient code.
If you use Python for data science or other demanding applications, read High Performance Python.
Courses
There too many to list!
Python for Everybody provides a complete course on the basics of Python. The course is available online at Coursera and EdX. The textbook and course material are available for free. This course is also designed to be taught by other educators and trainers, so the materials include assessment autograders and integrations for learning management systems.
Online Guides
Once you have learned Python itself, visit The Hitchhiker’s Guide to Python, which provides clear advice on daily work with Python.
Full Stack Python explains the tools and options for building Web applications with Python. If you decide to work with the Flask framework, use the The Flask Mega-Tutorial to learn the essentials.
If you are a programmer or systems administrator, consider replacing bash scripting with Python.
This article lists useful tools and libraries for Python.
Podcasts
Python Bytes is a weekly news show for Python, with episodes that are about 15 minutes long.
Podcast.init and Talk Python to Me both run interviews with software project leaders and key community members. Episodes are usually just over 60 minutes long.