Python Books

Study Python with Free Open-Source Books

Python Books

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.

Think Python

Think Python: How to Think Like a Computer Scientist

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:

  • Variables, expressions and statements
  • Functions
  • Conditionals and recursion
  • Fruitful functions
  • Iteration
  • Strings
  • Lists
  • Dictionaries
  • Tuples – ordered list of elements
  • Files
  • Classes and objects / Classes and functions / Classes and methods
  • Inheritance
  • Case studies on interface design, word play, data structure selection, and Tkinter

The first edition of Think Python is also available, which uses Python 2.
Both editions are available under the Creative Commons Attribution-NonCommercial 3.0 Unported License.

Dive Into Python 3

Dive into Python 3

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.


  • Native Datatypes
  • The Power of Introspection
  • Objects and Object-Orientation
  • Exceptions and File Handling
  • Regular Expressions
  • HTML Processing
  • XML Processing
  • Scripts and Streams
  • HTTP Web Services
  • SOAP Web Services
  • Unit Testing
  • Refactoring
  • Functional Programming
  • Dynamic Functions
  • Performance Tuning

This book is licensed under the terms of the GNU Free Documentation License, Version 1.1 or any later version.

Automate the Boring Stuff with Python

Automate the Boring Stuff with Python

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:

  • Search for text in a file or across multiple files
  • Create, update, move, and rename files and folders
  • Search the Web and download online content
  • Update and format data in Excel spreadsheets of any size
  • Split, merge, watermark, and encrypt PDFs
  • Send reminder emails and text notifications
  • Fill out online forms

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.

The Hitchhiker's Guide to Python

The Hitchhiker’s Guide to Python

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.

Supporting Python 3

Supporting Python 3

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.

Building Skills in Python

Building Skills in Python

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:

  • Numeric Expressions and Output
  • Advanced Expressions
  • Variables, Assignment and Input
  • Truth, Comparison and Conditional Processing
  • Loops and Iterative Processing
  • Functions

This book is made available under a Creative Commons Attribution-Noncommercial-No Derivative Works License.

Think Complexity

Think Complexity

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:

  • Graphs including random and connected graphs
  • Analysis of algorithms – the branch of computer science that considers the performance of algorithms
  • Small world graphs
  • Scale-free networks: Zipf’s law, cumulative, continuous and Pareto distributions
  • Cellular automata
  • Game of Life
  • Fractals
  • Self-organized criticality
  • Case studies

Permission is granted to copy, distribute, transmit and adapt this work under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

A Byte of Python

A Byte of Python

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:

  • Basics of Python
  • Operators and Expressions
  • Control Flow
  • Functions
  • Modules
  • Data Structures
  • Problem Solving
  • Object Oriented Programming
  • Input Output
  • Exceptions
  • Standard Library

This book is released under the Creative Commons Attribution-NonCommercial-ShareAlike License 3.0.

Programming Computer Vision with Python

Programming Computer Vision with Python

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:

  • Learn techniques used in robot navigation, medical image analysis, and other computer vision applications
  • Work with image mappings and transforms, such as texture warping and panorama creation
  • Compute 3D reconstructions from several images of the same scene
  • Organize images based on similarity or content, using clustering methods
  • Build efficient image retrieval techniques to search for images based on visual content
  • Use algorithms to classify image content and recognize objects
  • Access the popular OpenCV library through a Python interface

The final draft of the book is released under a Creative Commons license.

Proceed to Second Page


Ada, Assembly, Awk, Bash, C, C++, C#, Clojure, CoffeeScript, ECMAScript, Erlang, Forth, Fortran, Go, Haskell, HTML, Java, JavaScript, LaTeX, Lisp, Logo, Lua, OCaml, Pascal, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, Scheme, Scratch, SQL, Swift, TeX, VimL

Click to rate this software
[Total: 0 Average: 0]

Pages: 1 2 3


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.