Python is by far the most wanted programming language in the world. It's the second-most loved programming language and the fourth-most popular, as indicated in the 2019 Stack Overflow Survey. Python is easy to learn, versatile, and used in a wide variety of fields, from machine learning to data science to web apps. It's why we've compiled a list of Python resources for you to read, listen to, or subscribe to.

10 Great Books to Learn Python 📚

Python is one of the best languages to learn first. And there's no better way to delve deep into a new language than by reading a good book. These ten books on Python will move you from someone who has no experience programming to being a Python expert.

Python Crash Course: A Hands-On, Project-Based Introduction to Programming (2nd ed.)

Author: Eric Matthes

Publication Year: 2019 (1st ed. published in 2015)

Length: 544 pages

Summary:

A straightforward introduction to the core of Python programming and the perfect book for beginners. Author Eric Matthes provides a foundation in general programming concepts, Python fundamentals, and problem-solving. Three real world projects in the second part of the book allow readers to apply their knowledge in useful ways. You'll learn how to create a simple video game, use data visualization techniques to make graphs and charts, and build and deploy an interactive web application.

Learn Python 3 the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code

Author: Zed A. Shaw

Publication Year: 2017

Length: 320 pages

Summary:

This book takes a different approach. In Learn Python 3 the Hard Way, you’ll learn Python by working through 52 meticulously crafted exercises. Read them. Type their code precisely (No copying and pasting!). Then you'll fix your mistakes. Watch the programs run. As you do, you’ll learn how a computer works; what good programs look like; and how to read, write, and think about code.

Python Programming: An Introduction to Computer Science (3rd ed.)

Author: John M. Zelle

Publication Year: 2016 (1st ed. published in 2004)

Length: 536 pages

Summary:

Another free book (click the link in the title to download), Python Programming is designed to be used as the primary textbook in a college-level first course in computing. It takes a fairly traditional approach, emphasizing problem solving, design, and programming as the core skills of computer science. However, these ideas are illustrated using Python. Guido van Rossum, the creator of Python, said this book is "really an introduction to the fine art of programming, using Python merely as the preferred medium for beginners."

Learning Python: Powerful Object-Oriented Programming (5th ed.)

Author: Mark Lutz

Publication Year: 2013

Length: 1,600 pages

Summary:

Get a comprehensive, in-depth introduction to the core Python language with this hands-on book. Based on author Mark Lutz’s popular training course, this updated fifth edition will help you quickly write efficient, high-quality code with Python. It’s an ideal way to begin, whether you’re new to programming or a professional developer versed in other languages.

Python Cookbook (3rd ed.)

Authors: David Beazley, Brian K. Jones

Publication Year: 2013 (1st ed. published in 2002)

Length: 706 pages

Summary:

Packed with practical recipes written and tested with Python 3.3, this unique cookbook is for experienced Python programmers who want to focus on modern tools and idioms. Inside, you’ll find complete recipes for more than a dozen topics, covering the core Python language as well as tasks common to a wide variety of application domains. Each recipe contains code samples you can use in your projects right away, along with a discussion about how and why the solution works.

Learning With Python: How to Think Like a Computer Scientist (3rd ed.)

Authors: Allen B. Downey, Jeffrey Elkner, Chris Meyers

Publication Year: 2019 (first ed. published in 2002)

Length: 363 pages

Summary:

A free book (click the link on the title for the PDF), Learning With Python discusses the basics of programming and what makes up a program. Then it moves on to basic Python concepts such as variables, functions, conditionals, fruitful functions and iteration. Toward the end, the book discusses the core concepts such as objects, inheritance, lists, stacks, queues, trees and debugging.

Fluent Python: Clear, Concise, and Effective Programming

Author: Luciano Ramalho

Publication Year: 2015

Length: 792 pages

Summary:

Python's simplicity lets you become productive quickly, but this often means you aren't using everything it has to offer. With this hands-on guide, you'll learn how to write effective, idiomatic Python code by leveraging its best and possibly most neglected features. Many experienced programmers try to bend Python to fit patterns they learned from other languages, and never discover Python features outside of their experience. Those Python programmers will thoroughly learn how to become proficient in Python 3 in this book.

Introduction to Machine Learning With Python: A Guide for Data Scientists

Authors: Andreas C. Müller, Sarah Guido

Publication Year: 2016

Length: 400 pages

Summary:

Machine learning has become an integral part of many commercial applications and research projects, but this field is not exclusive to large companies with extensive research teams. If you use Python, even as a beginner, this book will teach you practical ways to build your own machine learning solutions. With all the data available today, machine learning applications are limited only by your imagination.

Python Tricks: a Buffet of Awesome Python Features

Author: Dan Lutz

Publication Year: 2017

Length: 304 pages

Summary:

With Python Tricks, you’ll discover Python’s best practices and the power of beautiful & Pythonic code with simple examples and a step-by-step narrative. You'll get one step closer to mastering Python, so you can write beautiful and idiomatic code that comes to you naturally. With this book, you'll be able to focus on the practical skills that really matter. Discover the “hidden gold” in Python’s standard library and start writing clean and Pythonic code today.

Effective Python: 59 Ways to Write Better Python

Author: Brett Slatkin

Publication Year: 2015

Length: 227 pages

Summary:

This book has 59 Python best practices, tips, and shortcuts, and it explains them with realistic code examples. Drawing on years of experience building Python infrastructure at Google, Brett Slatkin uncovers little-known quirks and idioms that powerfully impact code behavior and performance. You'll learn the best way to accomplish key tasks, so you can write code that s easier to understand, maintain, and improve.

8 Best Blogs to Stay Updated on Python 📝

Subscribe to these 8 blogs to stay current on the latest Python news, discover new Python frameworks, and learn new Python tricks to make you more productive and efficient.

Python Software Foundation News

The Python Software Foundation is an organization devoted to advancing open source technology related to the Python programming language. They've been posting about Python and its broader community ever since 2006.

Planet Python

Planet Python is a Python blog aggregator useful for finding new Python-related blogs or for quickly browsing the latest Python articles from several blogs.

The Mouse vs the Python

The Mouse vs the Python is a blog created by Mike Driscoll that's exclusively about Python. Full of interviews, book recommendations, and general Python tips. Also comes in the form of a newsletter.

The Python Guru

The Python Guru is both a website to learn Python and a blog with the latest updates on Python. Its tutorials cover everything you need to know to become a proficient Python developer.

Real Python

Real Python is another website to learn Python, with an excellent newsletter too. It has tutorials, interactive videos, quizzes, and learning paths for the specific applications of Python (e.g. data science, machine learning, DevOps).

Python Tips

Python Tips is the blog of Yasoob Khalid, and its blog posts center exclusively around small tips and tricks that will improve your Python experience. You can also subscribe to Yasoob's newsletter, which has almost 40,000 followers.

Full Stack Python

Full Stack Python is for the programmers who are already somewhat familiar with Python and who want to make something real with their newly-learned language. Full Stack Python is a website designed to help you learn everything you need to create, deploy and operate Python-powered applications.

Ned Batchelder's Blog

Ned Batchelder is a software developer and organizer of the Boston Python user group. His blog posts are mostly about Python, although he also talks about software engineering, math, parenting, language, and politics.

4 Awesome Newsletters to Stay Current on Python 📩

If you like news delivered directly to your inbox, these 4 Python newsletters will keep you informed of what's going on in the industry.

Python Weekly

A free, weekly newsletter featuring curated news, articles, new releases, jobs, etc... All related to Python. Curated by Rahul Chaudhary.

PyCoder's Weekly

A free, weekly newsletter for those interested in Python development and various topics around Python and the community.

ImportPython

A weekly newsletter with insightful articles, tutorials, projects, videos, and tweets about Python. Also a blog with plenty of Python book recommendations.

The Powerful Python Newsletter

Daily emails to level up as a Python developer. Curated by Aaron Maxwell, author of the Powerful Python book.

4 Interesting Podcasts to Understand Python 🎤

If you prefer listening over reading, these 4 Python podcasts are for you. Stay informed while doing the dishes or going for a run!

Test & Code

Test & Code is a weekly podcast hosted by Brian Okken. The show covers software development, testing, Python programming, and many other related topics.

Talk Python to Me

Talk Python To Me is a podcast for developers who are passionate about Python. Learn about the language and related technologies. They also have a wonderfully supportive community on Gitter (see below).

The Python Podcast.__init__

A weekly podcast about the Python programming language, its ecosystem, and its community. Hosted by Tobias Macey.

Python Bytes

Python Bytes is a weekly podcast hosted by Michael Kennedy and Brian Okken (also the host of Test & Code). It covers the latest news in the Python world.

6 Supportive Python Communities 🎭

In your journey learning Python, you're going to have many questions. Search and find answers for them using these 6 Python communities. And make friends in the process, too!

Reddit: Python

The official Python subreddit full of news, jobs, questions, and hot takes.

Slack: PySlackers

An open community for Python enthusiasts on Slack.

Slack: Python Community

Another Python Slack community with close to 5,000 members.

Quora: Python Programming

A great Quora topic to follow and ask Python-related questions in.

Quora: Python Beginners

Another excellent Quora topic if you're new to Python or if you want to help out Python newbies.

Gitter: Talk Python

The Gitter community of the Talk Python to Me podcast (see above).


Finally, we recommend checking out the Best Python Frameworks for Web Development and Data Science.