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.
Table of Contents
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.
- Full Stack Python – Learn everything you need to create, deploy, and operate Python-powered applications. This site is also available in book form!
- 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.
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!
In this fully revised second edition of the best-selling classic Automate the Boring Stuff with Python, you’ll learn how to use Python to write programs that do in minutes what would take you hours to do by hand—no prior programming experience required. You’ll learn the basics of Python and explore Python’s rich library of modules for performing specific tasks, like scraping data off websites, reading PDF and Word documents, and automating clicking and typing tasks.
More than a mere collection of advanced syntax and masterful tips for writing clean code, you’ll learn how to advance your Python programming skills by using the command line and other professional tools like code formatters, type checkers, linters, and version control. Sweigart takes you through best practices for setting up your development environment, naming variables, and improving readability, then tackles documentation, organization and performance measurement, as well as object-oriented design and the Big-O algorithm analysis commonly used in coding interviews.
Data Analysis Python books
Get complete instructions for manipulating, processing, cleaning, and crunching datasets in Python. Updated for Python 3.6, the second edition of this hands-on guide is packed with practical case studies that show you how to solve a broad set of data analysis problems effectively. You’ll learn the latest versions of pandas, NumPy, IPython, and Jupyter in the process.
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.