By way of a brief introduction, Python is a high-level, general-purpose, structured, powerful, open source programming language that is used for a wide variety of programming tasks. It features a fully dynamic type system and automatic memory management, similar to that of Scheme, Ruby, Perl, and Tcl, avoiding many of the complexities and overheads of compiled languages. The language was created by Guido van Rossum in 1991, and continues to grow in popularity, in part because it is easy to learn with a readable syntax. The name Python derives from the sketch comedy group Monty Python, not from the snake.
Python is a versatile language. It is frequently used as a scripting language for web applications, embedded in software products, as well as artificial intelligence and system administration tasks. It is both simple and powerful, perfectly suited for beginners and professional programmers alike.
This article selects 27 quality Python books. Readers are presented with a diverse set of books with general texts designed for beginners, intermediate, and advanced programmers. More task-specific books are featured too. For example, 4 of the books focus on writing Python games. Python is very popular in scientific fields, so a smattering of scientific focused titles are presented too. All of the books are released under an open source license.
Books 1-9 are listed below. Books 9-27 are on the next two pages.
We have published a series covering the best open source programming books for other popular languages. Read them here.
By Allen B. Downey (244 pages)
Where better to start this roundup with our favorite general text. Think Python is a concise and gentle introduction to software design using the Python programming language. The books seeks to teach the reader to think like a computer scientist. Intended for would-be developers with no programming experience. This book begins with the most basic concepts and gradually adds new material at a pace that is comfortable to the reader.
This book providing a wealth of information on:
The first edition of Think Python is also available, which uses Python 2.
By Mark Pilgrim (360 pages)
Dive Into Python is a hands-on guide to the Python language. Each chapter starts with a real, complete code sample, proceeds to pick it apart and explain the pieces, and then puts it all back together in a summary at the end.
This book is licensed under the terms of the GNU Free Documentation License, Version 1.1 or any later version.
By Al Sweigart (504 pages)
This is a great book for beginners to Python. In 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. Once you’ve mastered the basics of programming, you’ll create Python programs that effortlessly perform useful and impressive feats of automation to:
The first part of this book covers basic Python programming concepts, and the second part covers various tasks you can have your computer automate.
The programs in this book are written to run on Python 3.
The book is published under a Creative Commons license.
By Kenneth Reitz & Tanya Schlusser (338 pages)
The Hitchhiker’s Guide to Python is an outstanding guide for both novice and experienced Python developers.
This guide, collaboratively written by over a hundred members of the Python community, describes best practices currently used by package and application developers. The book focuses more on design philosophy than reusable code.
The book is published under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported license.
By Lennart Regebro (119 pages)
This expertly written in-depth book guides the reader through the process of adding Python 3 support, from choosing a strategy to solving distribution issues. If you want to ‘port’ Python 2 code to Python 3, this is your book.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
By Steven F. Lott (574 pages)
Building Skills in Python is a 47 chapter book which helps build Python programming skills through a series of exercises. It includes useful projects from straightforward to sophisticated that will help solidify your Python skills.
This book is a close-to-complete presentation of the Python language, updated to cover Python 2.6 and some elements of Python 3.1. It is oriented toward learning, which involves accumulating many closely intertwined concepts. This book is primarily targeted at professional programmers.
The book explores a wide range of topics including:
This book is made available under a Creative Commons Attribution-Noncommercial-No Derivative Works License.
By Allen B. Downey (214 pages)
Think Complexity is about data structures and algorithms, intermediate programming in Python, computational modeling and the philosophy of science.
Topics covered include:
Permission is granted to copy, distribute, transmit and adapt this work under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
By Swaroop CH (159 pages)
A Byte of Python is a free book on programming using the Python language. It serves as a tutorial or guide to the Python language for a beginner audience.
This book is written for the latest Python 3.
Topics covered include:
This book is released under the Creative Commons Attribution-NonCommercial-ShareAlike License 3.0.
By Jan Erik Solem (264 pages)
This book gives a hands-on introduction to the underlying theory and algorithms of computer vision (images, videos, etc). It seeks to explain computer vision in simple terms, without becoming too embroiled in theory. You will learn techniques for object recognition, 3D reconstruction, stereo imaging, augmented reality, and other computer vision applications as you follow clear examples written in Python. There are complete code samples with accompanying explanations.
The Python language comes with many powerful modules for handling images, mathematical computing and data mining.
Topics covered include:
The final draft of the book is released under a Creative Commons license.