Newbies What Next ? News Forums Calendar


News Sections
General News (3987/0)
Reviews (636/0)
Press Releases (465/0)
Distributions (197/0)
Software (907/0)
Hardware (537/0)
Security (192/0)
Tutorials (356/0)
Off Topic (181/0)

User Functions


Don't have an account yet? Sign up as a New User

There are no upcoming events

20 of the Best Free Python Books - Part 1

20 of the Best Free Python Books

Individuals wanting to learn about the Python programming language have a wide variety of books to read. There are many hundreds of informative Python books that are in-print and available to download or buy at reasonable cost. Given that Python is an open-source programming language, some developers will want this extended to the documentation they read.

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.

Python is used as a scripting language for web applications, embedded in software products as a scripting language, used in artifical intelligence tasks, and for system administration tasks. It is a simple and powerful language, perfectly suited for beginners and professional programmers alike.

The focus of this article is to select some of the finest Python books which are available to download for free. The vast majority of the books featured here can also be freely distributed to others.

To cater for all tastes, we have chosen a wide range of books, encompassing general introductions to Python, books that help you develop games, introduce kids to the world of programming, and build Python programming skills. All of the texts here come with our strongest recommendation. So get reading (and downloading).

1. Think Python

Think Python
Author Allen B. Downey
Format PDF, Postscript, LaTeX, HTML EPUB
Pages 234

Think Python is a concise and gentle introduction to software design using the Python programming language. Intended for would-be developers with no programming experience. This book starts 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
  • Interation
  • 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

It is available under the Creative Commons Attribution-NonCommercial 3.0 Unported License.

2. Invent Your Own Computer Games with Python

Invent Your Own Computer Games with Python
Author Albert Sweigart
Format PDF
Pages 436

Invent Your Own Computer Games with Python teaches you computer programming in the Python programming language. Each chapter gives you the complete source code for a new game and teaches the programming concepts from these examples.

The book is available under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 license. Invent with Python was written to be understandable by kids as young as 10 to 12 years old, although it is suitable for any age.

This second edition has revised and expanded content, including using the Pygame library to make games with graphics, animation, and sound.

The book focuses on three different areas:

  • Series of tutorials ranging from a simple "guess the number" game, to drawing game boards with ASCII art, reversi, and simple artifical intelligence simulation
  • Make the design for a Hangman game
  • Learn new methods and functions that come with Python
  • Simple mathematical concepts including cartesian coordinate systems, X-axis and Y-axis, the commutative property of addition, and absolute values and the abs () function
  • Use the Pygame library to make games with graphics, animation, mouse input, and sound
  • Make graphical user interface programs that have graphics and can accept input from the keyboard and mouse

3. Snake Wrangling for Kids

Snake Wrangling for Kids
Author Jason R. Briggs
Format PDF
Pages 150

Snake Wrangling for Kids is a printable electronic book, for children 8 years and older, who would like to learn computer programming. It covers the very basics of programming, and uses the Python 3 programming language to teach the concepts.

There are 3 different versions of the free book (one for Mac, one for Linux and one for Windows). There have been around 50,000 downloads, as of 2012. It has been rewritten and updated, with new chapters (including developing graphical games), and new code examples

This version is licensed under the Creative Commons license.

  • Use fundamental data structures like lists, tuples, and maps
  • Organize and reuse your code with functions and modules
  • Use control structures like loops and conditional statements
  • Draw shapes and patterns with Python's turtle module
  • Create games, animations, and other graphical wonders with Tkinter

4. Learn Python the Hard Way, 2nd Edition

Learn Python the Hard Way
Author Zed Shaw
Format HTML
Pages 183

This simple book is meant to give you a first start in programming.

The title says it is the hard way to learn to write code but it is actually not. It is the hard way only in that it is the way people used to teach things. In this book you will do something incredibly simple that all programmers actually do to learn a language.

This is a very beginner book for people who want to learn to code. If you can already code then look elsewhere. It is targeted for newbies to build up their skills before starting a more detailed book. The 2nd Edition features 5 new exercises, fixes and updates to nearly every exercise, and three of the new exercises teach you to create a simple web application as the final part of the book.

The book consists of:

  • 52 Exercises which consist of typing code samples. This helps budding Python programmers to learn the names of the symbols, become familiar with typing them, and reading the language
  • Exercises cover topics such as: Variables, printing, functions, boolean algebra, branches and functions, automated testing, and starting your own game

5. Natural Language Processing with Python

Natural Language Processing with Python
Author Steven Bird, Ewan Klein, and Edward Loper
Format PDF, Ebook, HTML
Pages 504

Natural Language Processing with Python - Analyzing Text with the Natural Language Toolkit offers a highly accessible introduction to natural language processing, the field that supports a variety of language technologies, from predictive text and email filtering to automatic summarization and translation. Learn how to write Python programs that work with large collections of unstructured text. Access richly annotated datasets using a comprehensive range of linguistic data structures, and understand the main algorithms for analyzing the content and structure of written communication.

This book is made available under the terms of the Creative Commons Attribution Noncommercial No-Derivative-Works 3.0 US License.

This book helps to:

  • Extract information from unstructured text, either to guess the topic or identify "named entities"
  • Analyze linguistic structure in text, including parsing and semantic analysis
  • Access popular linguistic databases, including WordNet and treebanks
  • Integrate techniques drawn from fields as diverse as linguistics and artificial intelligence

Next Section: 20 of the Best Free Python Books - Part 2

This article is divided into four parts:

Part 1, Part 2, Part 3, Part 4

Bookmark and Share

Last Updated Sunday, May 25 2014 @ 03:55 PM EDT

We have written a range of guides highlighting excellent free books for popular programming languages. Check out the following guides: C, C++, C#, Java, JavaScript, CoffeeScript, HTML, Python, Ruby, Perl, Haskell, PHP, Lisp, R, Prolog, Scala, Scheme, Forth, SQL, Node.js (new), Fortran (new), Erlang (new), Pascal (new), and Ada (new).

Group Tests
100 Essential Apps
All Group Tests

Top Free Software
5 Office Suites
3 Lean Desktops
7 Document Processors
4 Distraction Free Tools
9 Project Management
4 Business Solutions
9 Groupware Apps
14 File Managers
10 Databases
21 Backup Tools
21 Productivity Tools
5 Note Taking Apps
9 Terminal Emulators
21 Financial Tools
5 Bitcoin Clients
21 Text Editors
21 Video Emulators
21 Home Emulators
42 Graphics Apps
6 CAD Apps
42 Scientific Apps
10 Web Browsers
42 Email Apps
12 Instant Messaging
10 IRC Clients
7 Twitter Clients
12 News Aggregators
11 VoIP Apps
42 Best Games
9 Steam Games
42 Audio Apps
5 Music Streaming
42 Video Apps
5 YouTube Tools
80 Security Apps
9 System Monitoring
8 Geometry Apps
Free Console Apps
14 Multimedia
4 Audio Grabbers
9 Internet Apps
3 HTTP Clients
5 File Managers
8 Compilers
9 IDEs
9 Debuggers
7 Revision Control Apps
6 Doc Generators
Free Web Software
21 Web CMS
14 Wiki Engines
8 Blog Apps
6 eCommerce Apps
5 Human Resource Apps
10 ERP
10 CRM
6 Data Warehouse Apps
8 Business Intelligence
6 Point-of-Sale

Other Articles
Migrating from Windows
Back up your data
20 Free Linux Books
24 Beginner Books
12 Shell Scripting Books

Older Stories
Monday 03/09
  • Raspberry Pi 2: Raspbian (ARMv6) v Linaro (ARMv7) (0)

  • Friday 03/06
  • Raspberry Pi 2 review (0)

  • Sunday 02/22
  • Chess in a Few Bytes (0)
  • Learn the Art of Computer Programming With These Great Free Beginner Books (2)
  • CD Audio Grabbers (0)

  • Monday 01/19
  • fitlet is a tiny fanless PC full of openness (0)

  • Sunday 01/18
  • MintBox Mini gives Linux users a pocket-sized PC (0)
  • 6 Invaluable Assembly Books (0)

  • Wednesday 01/14
  • Why Mac users donít switch to Linux (0)
  • MIPS Creator CI20 review (0)

  • Vote

    What Linux distribution do you run on your main computer?

    641 votes | 3 comments

    Built with GeekLog and phpBB
    Comments to the webmaster are welcome
    Copyright 2009 - All rights reserved