Fork me on GitHub

See also :

Javascript Books

Cracking Codes with Python

Al Sweigart

Beginner

This book features the source code to several ciphers and hacking programs for these ciphers.

Dive into Python 3

Mark Pilgrim

Intermediate

Dive Into Python 3 covers what's new in Python 3 and how its differs from Python 2.

Non-Programmer's Tutorial for Python 3

Josh Cogliati and others

Beginner

The Non-Programmers' Tutorial For Python 3 is a tutorial designed to be an introduction to the Python programming language. This guide is for someone with no programming experience.

Pyramid for Humans

Community

Intermediate

With this tutorial, discover Pyramid a Python web application development framework. Its primary goal is to make it easier for a Python developer to create web applications.

Snake Wrangling for Kids

Jason R. Briggs

Beginner

[DOWNLOAD REQUIRED] For children 8 years and older, who would like to learn computer programming. It covers the very basics of programming, and uses the Python programming language to teach the concepts.

Dive into Python (2004)

Mark Pilgrim

Intermediate

Dive Into Python is a free Python book (from 2004) for experienced programmers. It covers many basics of the language

Building skills in OOP

Steven F. Lot

Intermediate

How do you move from OO programming to OO design? This 301-page book has 49 chapters that will help you build OO design skills through the creation of a moderately complex family of application programs.

Think Python

Allen B. Downey

Beginner

A very exhaustive book covering most of the language features, from datatypes to OOP and debugging.

Python Module of the week

Doug Hellman

Intermediate

The Python Module of the Week series, or PyMOTW, is a tour of the Python standard library through short and concrete examples. It covers more than 50 modules.

Intermediate Python

Muhammad Yasoob

Intermediate

Python is an amazing language with a strong and friendly community of programmers. However, there is a lack of documentation on what to learn after getting the basics of Python down your throat. Through this book I aim to solve this problem. I would give you bits of information about some interesting topics which you can further explore. The topics which are discussed in this book open up your mind towards some nice corners of Python language. This book is an outcome of my desire to have something like this when I was beginning to learn Python.

Picking a Python Version: A Manifesto

David Mertz

Beginner

This report guides you through the implicit decision tree of choosing what Python version, implementation, and distribution is best suited for you.

Think Complexity

Allen B. Downey

Advanced

This book is about complexity science, data structures and algorithms, intermediate programming in Python, and the philosophy of science.

Functional Programming in Python

David Mertz

Intermediate

In this paper, David Mertz, a director of Python Software Foundation, examines the functional aspects of the language and points out which options work well and which ones you should generally decline.

Learn Python The Hard Way

Zed A. Shaw

Beginner

Have you always wanted to learn how to code but never thought you could? Do you want to challenge your brain in a new way?

Python Course

Google

Beginner

This is a free class for people with a little bit of programming experience who want to learn Python.

A byte of Python

Swaroop C H

Beginner

This book aims to help you learn the wonderful Python language and show how to get things done quickly and painlessly - in effect 'The Perfect Anti-venom to your programming problems'.

How to Think Like a Computer Scientist: Second Interactive Edition

B. Miller & D. Ranum

Beginner

This interactive book teaches you Python the interactive way, right in the browser.

Think Stats

Allen B. Downey

Advanced

Think Stats is an introduction to Probability and Statistics for Python programmers.

Automate the Boring Stuff with Python

Al Sweigart

Beginner

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.

An introduction to Python

John C. Lusth

Beginner

A complete scholar overview of all Python 3 functionnalities from the Alabama University.

Making Games with Python and Pygame

Al Sweigart

Intermediate

Teaches the Pygame 2D graphics library with the source code for 11 games.

Learning IPython for Interactive Computing and Data Visualization - Second Edition

Cyrille Rossant

Beginner

[registration] Get started with Python for data analysis and numerical computing in the Jupyter notebook

Python course

Patrick Fuchs

Beginner

[FRENCH] Beginner and progressive course about Python theory and concepts

web2py Complete Manual

Massimo Di Pierro

Intermediate

As you will learn in the following pages, web2py tries to lower the barrier of entry to web development by focusing on three main goals: ease of use, rapid development and security

How to Make Mistakes in Python

Mike Pirnat

Intermediate

Even the best programmers make mistakes. In this O’Reilly report, Mike Pirnat dissects some of his most memorable blunders, peeling them back layer-by-layer to reveal just what went wrong.

Programmez avec Python 3

Gérard Swinnen

Beginner

[FRENCH] Apprenez à programmer avec Python 3. Mise à jour du précédent ouvrage avec les spécificité de Python 3.

Kivy programming Guide

Kivy

Intermediate

Discover Kivy the multitouch Python framework for desktop and mobile, and learn how to create a simple game.

High Performance Python

Ian Ozsvald

Intermediate

By exploring the fundamental theory behind design choices, this practical guide helps you gain a deeper understanding of Python's implementation. You'll learn how to locate performance bottlenecks and significantly speed up your code in high-data-volume programs.

Invent Your Own Computer Games with Python

Al Sweigart

Beginner

Learn to program with the source code for several simple ASCII-art (and later, 2D graphical Pygame) games.

Building skills in Programming

Steven F. Lot

Beginner

How do you learn to program? Through a series of simple exercises that teach programming fundamentals with an easy-to-use, easy-to-learn programming language.

Text Processing in Python

David Mertz

Intermediate

This is an example-driven, hands on tutorial that carefully teaches programmers how to accomplish numerous text processing tasks using Python.

A bit of Python & other things.

Jesse Noller

Beginner

A usefull page with good links to read about Python

Djen of Django

Agiliq

Intermediate

Djen of Django is a book consisting of a series of small Django projects based on small real-world examples. For instance, building a Pastebin, a Blog or a Project Management Application. Djen of Django focuses on teaching the reader Django best practices through the use of real-world examples.

Learn Python, Break Python

Scott Grant

Beginner

Learn Python, Break Python is a hands-on introduction to the Python programming language, written for people who have no experience with programming whatsoever.

Probabilistic Programming and Bayesian Methods for Hackers: Using Python and PyMC

Cam Davidson-Pilon

Intermediate

aka 'Bayesian Methods for Hackers': An introduction to Bayesian methods + probabilistic programming in data analysis with a computation/understanding-first, mathematics-second point of view. All in pure Python ;)

Test-Driven Development with Python

Harry Percival

Intermediate

This book uses a concrete example—the development of a website, from scratch—to teach the TDD metholology, and how it applies to web programming, from the basics of database integration and javascript, going via browser-automation tools like Selenium, to advanced (and trendy) topics like NoSQL, websockets and Async programming.

Problem Solving with Algorithms and Data Structures Using Python

B. Miller & D. Ranum

Intermediate

This book is a CS2 data structures textbook, with a review of Python concepts in chapter 1

Django Girls Tutorial

Community

Beginner

It's a very beginner-friendly tutorial with introductions to the command line, Python, Django, HTML and CSS.

Make Games with Python

Sean M. Tracey

Beginner

In this book, we are going to learn to make games on the Raspberry Pi with Pygame. We'll look at drawing, animation, keyboard and mouse controls, sound, and physics. This book isn't for absolute programming beginners, but it's not far from it.

Python in Hydrology

Sat Kumar Tomer

Beginner

Python in Hydrology is written for learning Python using its applications in hydrology. The book covers the basic applications of hydrology, and also the advanced topic like use of copula.

Flask microframework

Armin Ronacher

Intermediate

Learn the Flask web microframework by example. Flask aims to keep the core simple but extensible and gives you freedom to choose the libraries of your choice.

Porting to Python 3: An in-depth guide

Lennart Regebro

Intermediate

This book guides you through the process of porting your Python 2 code to Python 3, from choosing a porting strategy to solving your distribution issues. Using plenty of code examples is takes you cross the hurdles and shows you the new Python features.

Python 101

Michael Driscoll

Beginner

Learn how to program with Python 3 from beginning to end. Python 101 starts off with the fundamentals of Python and then builds onto what you’ve learned from there.

How to Think Like a Computer Scientist: Learning with Python 2nd Ed.

Jeffrey Elkner...

Beginner

This book teaches you Python right in the browser.

Mastering Python

Rick van Hattem

Intermediate

[registration] Master the art of writing beautiful and powerful Python by using all of the features that Python 3.5 offers

Annotated Algorithms In Python

Massimo Di Pierro

Advanced

This book is assembled from lectures given by the author over a period of 10 years at the School of Computing of DePaul University. The lectures cover multiple classes, including Analysis and Design of Algorithms, Scientific Computing, Monte Carlo Simulations, and Parallel Algorithms.

Django Tutorial

Community

Intermediate

With this hands-on tutorial, discover Django the popular high-level Python Web framework that encourages rapid development and clean, pragmatic design.

Python® Notes for Professionals

GoalKicker

Intermediate

This Python® Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow.

Full Stack Python

Matt Makai

Intermediate

You're knee deep in learning the Python programming language. The syntax is starting to make sense. Now you want to take your knowledge and make something real. This book explains each Python web application stack layer and provides the resources.

Python Cookbook, Third Edition

Various authors

Intermediate

This book is aimed at more experienced Python programmers who are looking to deepen their understanding of the language and modern programming idioms.

The Hitchhiker’s Guide to Python!

Kenneth Reitz

Beginner

This opinionated guide exists to provide both novice and expert Python developers a best-practice handbook to the installation, configuration, and usage of Python on a daily basis.

Python para todos

Raúl González Duque

Beginner

[SPANISH] Libro sobre programación en Python a modo de tutorial, adecuado para todos los niveles de aprendizaje, desde novatos hasta expertos que quieren conocer más sobre Python.

Think Bayes

Allen B. Downey

Advanced

Think Bayes is an introduction to Bayesian statistics using computational methods.

Biopython

Various authors

Intermediate

This is a tutorial and cookbook for Biopython (Biopython is a set of freely available toos for biological computations.

What You Need to Know about Machine Learning

Gabriel A. Cánepa

Intermediate

This book lays the foundation for your work in the world of Machine Learning, providing the basic understanding, knowledge, and skills that you can build on with experience and time

Algorithmic Problem Solving with Python

John B. Schneider...

Beginner

Python's syntax and idioms are much easier to learn than those of most other full-featured languages. This book uses programming language Python to introduce folks to programming and algorithmic thinking.

Python for Everybody

Charles R. Severance

Beginner

The goal of this book is to provide an Informatics-oriented introduction to programming. The primary approach taken in this book is using Python to solve data analysis problems common in the world of Informatics.

Python 3x Programming (sample)

Jody S. Ginther

Beginner

(4 free chapters) Python 3x Programming, Made Fun and Easier by Jody S. Ginther is for the beginning programmer who wants to learn visually and have some fun while learning programming. The full course will take the beginner from ground zero to making their own arcade style game complete with; music, sound, graphics, and how to make a distribution package to share it with your friends in 21 lessons.

Python Practice Book

Anand Chitipothu.

Beginner

This book is prepared from the training notes of Anand Chitipothu. Anand conducts Python trainings classes on a semi-regular basis in Bangalore, India.

Modeling Creativity

Tom De Smedt

Intermediate

Case studies in Python - using the libraries nodebox and pattern the author creates wonderful fractals and infographics; python code snippets included

Python para Desenvolvedores (2nd Edition)

Luiz Eduardo Borges

Intermediate

[PORTUGUESE] Este livro aborda assuntos que incluem: criação de interfaces com usuário, computação gráfica, aplicações para internet, sistemas distribuídos, entre outros.

Natural Language Processing with Python

S. Bird, E. Klein...

Advanced

Practical introduction to programming for language processing, written by the creators of NLTK.

Think Stats 2e

Allen B. Downey

Advanced

Think Stats is an introduction to Probability and Statistics for Python programmers.

20 Python libraries You Aren't Using (But Should)

Caleb Hattingh

Intermediate

The Python ecosystem is vast and far-reaching in both scope and depth. Starting out in this crazy, open-source forest is daunting, and even with years of experience, it still requires continual effort to keep up-to-date with the best libraries and techniques. This report helps you explore some of the lesser known Python libraries and tools, including third-party modules and several extremely useful tools in the standard library that deserve more attention

A Programmer's Guide to Data Mining

Ron Zacharski

Intermediate

A guide to practical data mining, collective intelligence, and building recommendation systems.

What You Need to Know about Python

Pierluigi Riti

Beginner

The absolute essentials you need to know to get Python up and running

Explore Flask

Robert Picard.

Intermediate

This book is a collection of the best practices for using Flask. There are a lot of pieces to the average Flask application.

How to Tango with Django

Leif Azzopardi

Beginner

A beginner's guide to web development with Django 1.7. This book has been designed to get you going fast and to learn by example. You'll learn the key aspects of the Python Django Framework by developing an application called Rango.

Getting Started with Django

Kenneth Love

Beginner

Getting Started with Django (or GSWD) is a series of video-based lessons meant to take you from novice to competent [1], or maybe even beyond.

Learning Python

Fabrizio Romano

Intermediate

Learn to code like a professional with Python – an open source, versatile, and powerful programming language

Data Structures and Algorithms with Object-Oriented Design Patterns in Python

Bruno R. Preiss

Intermediate

This book is about the fundamentals of data structures and algorithms. It uses object oriented design patterns and teaches topics like stacks, queues, lists, hashing and graphs. There are also versions for other programming languages.

Raspberry Pi Cookbook for Python Programmers

Tim Cox

Intermediate

Over 50 tailor-made recipes for programmers to get the most out of Raspberry Pi using Python to unleash its huge potential

Think DSP

Allen B. Downey

Advanced

Think DSP is an introduction to Digital Signal Processing in Python.

High Performance Python tutorial

Ian Ozsvald

Advanced

In this 55 pages tutorial, Ian Ozsvald shows you a number of techniques to get a 10-500 performance increase in your Python apps, from profiling, to PyPy, numPy, Multiprocessing...

Learning OpenCV 3 Computer Vision with Python - Second Edition

Joe Minichino, Joseph Howse

Advanced

[registration] Unleash the power of computer vision with Python using OpenCV

The Standard Python Library

Fredrik Lundh

Intermediate

This book provides a brief description of each module of the +200 Python standard library and usage examples

Building Machine Learning Systems with Python

Willi Richert, Luis Pedro Coelho

Intermediate

Expand your Python knowledge and learn all about machine-learning libraries in this user-friendly manual

Advanced Machine Learning with Python

John Hearty

Advanced

[registration] Solve challenging data science problems by mastering cutting-edge machine learning techniques in Python

Building skills in Python

Steven F. Lot

Beginner

This 450+ page book has 42 chapters that will help you build Python programming skills through a series of exercises. This book includes six projects from straight-forward to sophisticated that will help solidify your Python skills.

Python for you and me

Kushal Das

Beginner

A book for the total new comers into Python world. Was started as book for students before they read Python tutorial.

Programmez avec Python 2

Gérard Swinnen

Beginner

[FRENCH] Apprenez à programmer avec Python 2. Découvrez la programmation et le language Python grâce à cet ouvrage de référence.

Python Scientific lecture notes

By The Community

Intermediate

Teaching material on the scientific Python ecosystem, a quick introduction to central tools and techniques. The different chapters each correspond to a 1 to 2 hours course with increasing level of expertise, from beginner to expert.

Programming Computer Vision with Python

Jan Erik Solem

Advanced

[PDF DRAFT] This book gives an entry point to hands-on computer vision (images, videos...) with enough understanding of the underlying theory and algorithms.

Practical Data Analysis

Hector Cuesta

Intermediate

Transform, model and visualize your data through hands-on projects, developed in open source tools

Python 101 - Introduction to Python

Dave Kuhlman

Beginner

This document is a syllabus for a first course in Python programming. This course contains an introduction to the Python language, instruction in the important and commonly used features of the language, and practical excercises in the use of those features.