This is a collection of personally picked Python learning resources, sorted by knowledge level. They are all great, so make sure to explore these! Most of these links are free (unpaid) resources. Even some of the books here have free versions.
Beginner learning resources
The following links are all free Python learning resources, aimed at beginners. If you’re just starting with Python, these are for you!
- Our Python tutorial for beginners – This is the best place to start learning Python!
- Automate The Boring Stuff – A great book, suggested by many, which is free to read (creative commons license) if you want. There’s also a paid version; see the books section below.
- The official Python documentation – These docs are organized by version and are a great and fairly complete resource that I find myself going back to more than I’d like to admit.
Intermediate level Python resources
These Python learning resources are aimed at the intermediate level. If you can write a Python program and know the basics, these are great to sharpen your skills and deepen your knowledge.
- The official Python tutorial – Once you know the basics, read this from start to end. It’s written by the people who make Python and covers the whole language, including the parts many beginner tutorials skip.
- Elements of Python Style – This document goes beyond PEP8 to cover the core of great Python style. It is somewhat opinionated and goes beyond mere issues of syntax and module layout, and into areas of paradigm, organization, and architecture.
- Python Discourse – The official Python forum. The Help category is a good place to ask questions, and you can follow discussions about where the language is going.
Books for learning Python
This is a selection of books I recommend to anyone starting with Python. If you decide to buy the book using the links below, Python Land receives a small commission from Amazon, at no extra cost to you. If you want to support us, use the links!
Automate the Boring Stuff with Python by Al Sweigart teaches you to write programs that do in minutes what would take you hours by hand. You don’t need any programming experience. You learn the basics of Python first, then use its libraries for practical jobs like scraping data off websites, reading PDF and Word documents, and automating clicking and typing.
The third edition came out in 2025. All the code has been updated, and there are new chapters on SQLite databases, speech recognition, and audio and video editing. You can read it for free on the author’s website.
Beyond the Basic Stuff with Python is Al Sweigart’s follow-up for when you know the basics. You learn to use the command line and professional tools like code formatters, type checkers, linters, and version control. The book covers setting up your development environment, naming variables, readability, documentation, organization and performance measurement. It also tackles object-oriented design and the Big-O algorithm analysis that often comes up in coding interviews.
Data Analysis Python books
Python for Data Analysis gives you complete instructions for manipulating, processing, cleaning, and crunching datasets in Python. The third edition is updated for pandas 2.0, and it’s packed with practical case studies that show you how to solve a broad set of data analysis problems. You learn pandas, NumPy, IPython, and Jupyter along the way. The full text is also free to read on the author’s website.
Written by Wes McKinney, the creator of the Python pandas project, this book is a practical, modern introduction to data science tools in Python. It’s ideal for analysts new to Python and Python programmers new to data science and scientific computing.
Other languages
If you want to try another programming language, look at the Go Tutorial for beginners. It’s a great introduction to a lower-level, faster, and compiled language that still feels a lot like Python.