Books
I have listed the books in an ascending level of difficulty. Check them out and enjoy :).
How to Think Like a Computer Scientist: Second Interactive Edition
Author: B. Miller & D. Ranum
Difficulty: Beginner
This interactive book teaches you Python the interactive way, right in the browser.
Author: Zed A. Shaw
Difficulty: 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?
Author: Allen B. Downey
Difficulty: Beginner
A very exhaustive book covering most of the language features, from datatypes to OOP and debugging.
Author: Swaroop C H
Difficulty: 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’.
Python 101 – Introduction to Python
Author: Dave Kuhlman
Difficulty: 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.
Author: Jason R. Briggs
Difficulty: 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.
Author: John C. Lusth
Difficulty: Beginner
A complete scholar overview of all Python 3 functionnalities from the Alabama University.
Building skills in Programming
Author: Steven F. Lot
Difficulty: 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.
Author: Steven F. Lot
Difficulty: 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.
Author: Gérard Swinnen
Difficulty: Beginner
[FRENCH] Apprenez à programmer avec Python 2. Découvrez la programmation et le language Python grâce à cet ouvrage de référence.
Author: Gérard Swinnen
Difficulty: Beginner
[FRENCH] Apprenez à programmer avec Python 3. Mise à jour du précédent ouvrage avec les spécificité de Python 3.
Author: Kushal Das
Difficulty: Beginner
A book for the total new comers into Python world. Was started as book for students before they read Python tutorial.
Author: Patrick Fuchs / Pierre Poulain,
Difficulty: Beginner
[FRENCH] Beginner and progressive course about Python theory and concepts
A bit of Python & other things.
Author: Jesse Noller
Difficulty: Beginner
A usefull page with good links to read about Python
Author: Google
Difficulty: Beginner
This is a free class for people with a little bit of programming experience who want to learn Python.
Non-Programmer’s Tutorial for Python 3
Author: Josh Cogliati/Wikibooks/Others
Difficulty: 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.
The Hitchhiker’s Guide to Python!
Author: Kenneth Reitz
Difficulty: 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.
Hacking Secret Ciphers with Python
Author: Al Sweigart
Difficulty: Beginner
The book teaches complete beginners how to program in the Python programming language. The reader not only learns about several classical ciphers, but also how to write programs that encrypt and hack these ciphers.
Author: Kenneth Love
Difficulty: 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.
Python 3x Programming (sample)
Author: Jody S. Ginther
Difficulty: 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.
Author: Raúl González Duque
Difficulty: 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.
Author: Sat Kumar Tomer
Difficulty: 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.
Author: Leif Azzopardi
Difficulty: Beginner
A beginner’s guide to web development with Django 1.5.4. 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.
Author: Anand Chitipothu.
Difficulty: 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.
Author: Mark Lutz
Difficulty: Beginner
It’s an easy-to-follow self-paced tutorial, based on author and Python expert Mark Lutz’s popular training course.
Python para Desenvolvedores (2nd Edition)
Author: Luiz Eduardo Borges
Difficulty: 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.
Problem Solving with Algorithms and Data Structures Using Python
Author: B. Miller & D. Ranum
Difficulty: Intermediate
This book is a CS2 data structures textbook, with a review of Python concepts in chapter 1
Author: Mark Pilgrim
Difficulty: Intermediate
Dive Into Python is a free Python book (from 2004) for experienced programmers. It covers many basics of the language
Author: Mark Pilgrim
Difficulty: Intermediate
Dive Into Python 3 covers what’s new in Python 3 and how its differs from Python 2.
Author: Kivy
Difficulty: Intermediate
Discover Kivy the multitouch Python framework for desktop and mobile, and learn how to create a simple game.
Author: Community
Difficulty: Intermediate
With this hands-on tutorial, discover Django the popular high-level Python Web framework that encourages rapid development and clean, pragmatic design.
Author: Community
Difficulty: 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.
Author: Armin Ronacher
Difficulty: 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.
Making games with Python and Pygame
Author: Al Sweigart
Difficulty: Intermediate
Making Games with Python & Pygame” covers the Pygame library with the source code for 11 games.
Author: Fredrik Lundh
Difficulty: Intermediate
This book provides a brief description of each module of the +200 Python standard library and usage examples
Author: Doug Hellman
Difficulty: 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.
Author: Steven F. Lot
Difficulty: 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.
Python Scientific lecture notes
Author: by the community
Difficulty: 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.
Data Structures and Algorithms with Object-Oriented Design Patterns in Python
Author: Bruno R. Preiss
Difficulty: 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.
Porting to Python 3: An in-depth guide
Author: Lennart Regebro
Difficulty: 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.
Probabilistic Programming and Bayesian Methods for Hackers: Using Python and PyMC
Author: Cam Davidson-Pilon and community
Difficulty: 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 😉
Author: Massimo Di Pierro
Difficulty: 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
Author: Tom De Smedt
Difficulty: Intermediate
Case studies in Python – using the libraries nodebox and pattern the author creates wonderful fractals and infographics; python code snippets included
Test-Driven Development with Python
Author: Harry Percival
Difficulty: 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.
Author: Agiliq
Difficulty: 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.
A Programmer’s Guide to Data Mining
Author: Ron Zacharski
Difficulty: Intermediate
A guide to practical data mining, collective intelligence, and building recommendation systems.
Invent Your Own Computer Games with Python
Author: Al Sweigart
Difficulty: Intermediate
Small and nice python game examples
Author: Various authors
Difficulty: Intermediate
This is a tutorial and cookbook for Biopython (Biopython is a set of freely available toos for biological computations.
Author: David Mertz
Difficulty: Intermediate
This is an example-driven, hands on tutorial that carefully teaches programmers how to accomplish numerous text processing tasks using Python.
Python Cookbook, Third Edition
Author: Various authors
Difficulty: Intermediate
This book is aimed at more experienced Python programmers who are looking to deepen their understanding of the language and modern programming idioms.
Author: Robert Picard.
Difficulty: Intermediate
This book is a collection of the best practices for using Flask. There are a lot of pieces to the average Flask application.
High Performance Python tutorial
Author: Ian Ozsvald
Difficulty: 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…
Programming Computer Vision with Python
Author: Jan Erik Solem
Difficulty: 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.
Natural Language Processing with Python
Author: S. Bird, E. Klein & E. Loper
Difficulty: Advanced
Practical introduction to programming for language processing, written by the creators of NLTK.
Author: Allen B. Downey
Difficulty: Advanced
This book is about complexity science, data structures and algorithms, intermediate programming in Python, and the philosophy of science.
Author: Allen B. Downey
Difficulty: Advanced
Think Stats is an introduction to Probability and Statistics for Python programmers.
source: Python Books on Github
✍️ Comments
Thank you!
Your comment has been submitted and will be published once it has been approved. 😊
OK