There are lots of free resources for learning Python available now. I wrote about some of them way back in 2013, but there’s even more now then there was then! In this article, I want to share these resources with you. If I miss anything that you have found helpful, feel free to link to them in the comments.
Blogs and Websites
When I am learning Python, one of the first places I turn to is the official Python documentation:
There are also lots of other pieces of documentation that can be found on the Python website.
Doug Hellman has been producing a series called Python Module of the Week (PyMOTW) for years. He now has a version of the series for Python 3 as well. Here are the links:
There are two interesting “Hitchhiker” websites on Python, but I don’t think they’re related except by name:
- The Hitchhiker’s Guide to Python
- The Hitchhiker’s Guide to Packaging – Learn how to package up your code and distribute it!
If you are into reading blogs, then Planet Python is for you. Planet Python is basically an RSS aggregator of dozens of Python blogs. You can see links to each blog that is aggregated on the left side of the page.
Free Python Books
Mark Pilgrim’s books have been online for over a decade. He created two versions of Dive Into Python, one for Python 2 and the other for 3. I’m just going to link to Python 3 here.
Al Sweigart has been putting out Python books for quite a while as well. His latest Python book is Automate the Boring Stuff with Python. It’s a fun book and well worth checking out. You can see his other books over on his website. They are all available for free, but you can purchase them too.
WikiBooks has a Python 3 book called Non-Programmer’s Tutorial for Python 3 that is still recommended.
While I’ve never read it, I have heard that Full Stack Python is good.
If you’d like to learn Test-Driven Development, there’s a book for that too over on Obey the Testing Goat. I will note that this book is heavily focused on web programming with Python and how to test that, so keep that in mind.
There is a neat online book called Program Arcade Games with Python and Pygame that is available for free in multiple languages, which is something that the previous books just don’t offer.
Finally I thought I would mention my own book, Python 101 which is available for free or pay what you want over on Leanpub.
There are tons of other free resources and books on Python too. These are just an overview. If you happen to get stuck in any of these books or resources, then you will be happy to know that there are a lot of helpful people on the following websites that will answer your questions:
Have fun learning Python. It’s a great language!