The books on this page are all general introductions to the Python language. Most of these books will contain a few chapters on particular applications such as GUI interfaces or Web programming, but won't go into great detail on any one topic; refer to the PythonBooks page for lists of application-specific books. Experienced programmers who prefer a brief and condensed introduction should look at the list of ReferenceBooks.

Bayesian Analysis with Python

Osvaldo Martin

ISBN 13: 9781785883804 Packt Publishing 284 pages (November 2016)

Book Overview:

The purpose of this book is to teach the main concepts of Bayesian data analysis. You will learn how to effectively use PyMC3, a Python library for probabilistic programming, to perform Bayesian parameter estimation, to check models and validate them. This book begins presenting the key concepts of the Bayesian framework and the main advantages of this approach from a practical point of view. Moving on, you will explore the power and flexibility of generalized linear models and how to adapt them to a wide array of problems, including regression and classification. You will also look into mixture models and clustering data, and you will finish with advanced topics like non-parametrics models and Gaussian processes. With the help of Python and PyMC3 you will learn to implement, check and expand Bayesian models to solve data analysis problems.

Who this book is written for:

Students, researchers and data scientists who wish to learn Bayesian data analysis with Python and implement probabilistic models in their day to day projects. Programming experience with Python is essential. No previous statistical knowledge is assumed.

Publisher's page

Python: Real World Machine Learning

By Prateek Joshi et al.

ISBN 13: 9781787123212 Packt Publishing 941 pages (November 2016)

Course Overview:

In the first module, Python Machine Learning Cookbook, you will learn how to perform various machine learning tasks using a wide variety of machine learning algorithms to solve real-world problems and use Python to implement these algorithms.

The second module, Advanced Machine Learning with Python, is designed to take you on a guided tour of the most relevant and powerful machine learning techniques and you’ll acquire a broad set of powerful skills in the area of feature selection and feature engineering.

The third module in this learning path, Large Scale Machine Learning with Python, dives into scalable machine learning and the three forms of scalability. It covers the most effective machine learning techniques on a map reduce framework in Hadoop and Spark in Python.

This Learning Path will teach you Python machine learning for the real world. The machine learning techniques covered in this Learning Path are at the forefront of commercial practice.

This Learning Path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products:

What you learn:

Who this course is for:

This Learning Path is for Python programmers who are looking to use machine learning algorithms to create real-world applications. It is ideal for Python professionals who want to work with large and complex datasets and Python developers and analysts or data scientists who are looking to add to their existing skills by accessing some of the most powerful recent trends in data science. Experience with Python, Jupyter Notebooks, and command-line execution together with a good level of mathematical knowledge to understand the concepts is expected. Machine learning basic knowledge is also expected.

Publisher's page

Data Science and Machine Learning with Python - Hands On! [Video]

By Frank Kane

ISBN 13: 9781787127081 Packt Publishing Video length 8 hour 50 minutes (September 2016)

Video Overview:

This video will help you take your first steps in the world of data science, and empower you to conduct data analysis and perform efficient machine learning using Python. Gain value from your data using the various data mining and data analysis techniques in Python, and develop efficient predictive models to predict future results. You will also learn how to perform large-scale machine learning on Big Data using Apache Spark. You don’t have to be an expert coder in Python to get the most out of this video – just a basic programming knowledge of Python is sufficient.

Who this video is for:

If you are a budding data scientist or a data analyst who wants to analyze and gain actionable insights from data using Python, this video is for you. Programmers with some experience in Python who want to enter the lucrative world of Data Science will also find this video to be very useful.

Publisher's page

Learning Python (Free eBook)

By Fabrizio Romano

ISBN 13: 9781783551712 Packt Publishing 442 pages (December 2015)

Book Overview:

This book goes deeper than simply showing you how to build a Python app, giving you the fundamentals of Python programming that every developer needs to know to make the most of the language. Packed with tutorials and examples this title features everything from data structures, writing reusable code, testing, paradigms, and how Python can be adapted. This free eBook will help transform you from a complete beginner to someone ready to bring the best out of their projects.

Who this book is written for:

This book is meant for programmers who wants to learn Python programming from a basic to an expert level. The book is mostly self-contained and introduces Python programming to a new reader and can help him become an expert in this trade.

Publisher's page

What You Need to Know about Python (Free eBook)

By Pierluigi Riti

ISBN 13: 9781786465566 Packt Publishing (March 2016)

Book Overview:

With this book you’ll experience the basics of Python, what it can be used for, and get a clear direction in what you need to really get the most from this great language.

Publisher's Page

Learn Python

By Ana Bell

MEAP: early access to chapters as they are being written, available at the Manning Publications web site: Learn Python

Book overview:

When you're ready to learn to program, Python is a great language to start with. It has a straightforward syntax, you'll find it easy to learn, and it's extremely versatile. Once you master the basics, you'll appreciate Python's very strong online community where you can continue learning and tinkering with more advanced programming techniques. All you need is some help to get going. Learning to program with Python doesn't have to be difficult, in fact it can even be fun. This book will get you started!

Learn Python is an introduction to programming using one of the most popular programming languages. The first few chapters give you a quick background to programming concepts and a hands-on guide to setting up your programming environment. You will then be gently introduced to the basics of programming, building up to writing your first programs! This easy-to-follow tutorial is full of exercises to practice and reinforce each new concept, as well as to give you confidence that you are ready to move on to the next lesson. As you progress, you'll learn programming topics and concepts that are ubiquitous across almost all other programming languages. By the end of the book, you'll have a solid grasp of how to write programs as well as programming best practices.

Who this book is written for:

Anyone without programming experience who wants an easy-to-follow book that guides you through short lessons and exercises.

Chapter 1 available for free: Why Should You Learn Python

The Quick Python Book, 3rd Edition

By Naomi Ceder

MEAP: early access to chapters as they are being written, available at the Manning Publications web site: The Quick Python Book, 3rd Edition

Book overview:

This third revision of Manning's popular The Quick Python Book offers a clear, crisp updated introduction to the elegant Python programming language and its famously easy-to-read syntax. Written for programmers new to Python, this latest edition includes new exercises throughout. It covers features common to other languages concisely, while introducing Python's comprehensive standard functions library and unique features in detail.

After exploring Python's syntax, control flow, and basic data structures, the book shows how to create and deploy full applications and larger code libraries. It addresses established Python features as well as the advanced object-oriented options available in Python 3. Along the way, you'll survey the current Python development landscape, including Pythonic best practices, data extraction and cleaning, database access, and web frameworks.

Who this book is written for:

This book is for someone who knows how to program, who whats to learn Python quickly and efficiently.

Chapter 1 available for free: About Python

Python Machine Learning Cookbook

By Prateek Joshi

ISBN 13: 9781786464477 Packt Publishing 304 pages (June 2016)

Book overview:

Machine learning is becoming increasingly pervasive in the modern data-driven world. It is used extensively across many fields such as search engines, robotics, self-driving cars, and more. With this book, you will learn how to perform various machine learning tasks in different environments. We’ll start by exploring a range of real-life scenarios where machine learning can be used, and look at various building blocks. Throughout the book, you’ll use a wide variety of machine learning algorithms to solve real-world problems and use Python to implement these algorithms. You’ll discover how to deal with various types of data and explore the differences between machine learning paradigms such as supervised and unsupervised learning. We also cover a range of regression techniques, classification algorithms, predictive modeling, data visualization techniques, recommendation engines, and more with the help of real-world examples.

Who this book is written for:

This book is for Python programmers who are looking to use machine-learning algorithms to create real-world applications. This book is friendly to Python beginners, but familiarity with Python programming would certainly be useful to play around with the code.

Publisher's page

Modular Programming with Python

By Erik Westra

ISBN 13: 9781785884481 Packt Publishing 246 pages (May 2016)

Book overview:

This book will help readers develop readable, reliable, and maintainable programs in Python. Starting with an introduction to the concept of modules and packages, this book shows how you can use these building blocks to organize a complex program into logical parts and make sure those parts are working correctly together. Using clearly written, real-world examples, this book demonstrates how you can use modular techniques to build better programs. A number of common modular programming patterns are covered, including divide-and-conquer, abstraction, encapsulation, wrappers and extensibility. You will also learn how to test your modules and packages, how to prepare your code for sharing with other people, and how to publish your modules and packages on GitHub and the Python Package Index so that other people can use them. Finally, you will learn how to use modular design techniques to be a more effective programmer.

Who this book is written for:

This book is intended for beginner to intermediate level Python programmers who wish to learn how to use modules and packages within their programs. While readers must understand the basics of Python programming, no knowledge of modular programming techniques is required.

Publisher's page

The Coder's Apprentice: Learning programming with Python 3

By Pieter Spronck

~400 pages (July 2016)

Book overview:

"The Coder's Apprentice" is a course book, aimed at teaching Python 3 to students and teenagers who are completely new to programming. Contrary to many of the other books that teach Python programming, this book assumes no previous knowledge of programming on the part of the students, and contains numerous exercises that allow students to train their programming skills.

The book covers all imperative programming and object oriented programming aspects of Python 3, including:

The book also spends time on algorithm design and writing effective code.

The book is freely available as PDF.

Learning Python for Forensics

By Preston Miller, Chapin Bryce

ISBN 13: 9781783285235 Packt Publishing 488 pages (May 2016)

Book overview:

This book will illustrate how and why you should learn Python to strengthen your analysis skills and efficiency as you creatively solve real-world problems through instruction-based tutorials. The tutorials use an interactive design, giving you experience of the development process so you gain a better understanding of what it means to be a forensic developer.

Who this book is written for:

If you are a forensics student, hobbyist, or professional that is seeking to increase your understanding in forensics through the use of a programming language, then this book is for you.You are not required to have previous experience in programming to learn and master the content within this book. This material, created by forensic professionals, was written with a unique perspective and understanding of examiners who wish to learn programming.

Publisher's page

Practical Data Analysis Cookbook

By Tomasz Drabas

ISBN 13: 9781783551668 Packt Publishing 384 pages (April 2016)

Book overview:

This book provides a rich set of independent recipes that dive into the world of data analytics and modeling using a variety of approaches, tools, and algorithms. You will learn the basics of data handling and modeling, and will build your skills gradually toward more advanced topics such as simulations, raw text processing, social interactions analysis, and more.

Who this book is written for:

This hands-on recipe guide is divided into three sections that tackle and overcome real-world data modeling problems faced by data analysts/scientist in their everyday work. Each independent recipe is written in an easy-to-follow and step-by-step fashion.

Publisher's page

Beginning Python (Video)

William Fiset

ISBN: 9781786468994

Course Length: 4 hours and 20 minutes, April 2016, Packt Publishing

This course assumes no programming experience and slowly builds the tools you need to take on larger challenges. Once this is done, dive into the fundamentals of Python programming with variables, numbers, strings, and so on. You'll learn to make decisions on your programs with conditional statements and discover that Python has the ability to iterate over the items of any sequence such as a list or a string with loops.

You will see how functions play a major role to provide a high degree of code reusing. Along with the built-in functions, you will be able to build your own functions as well. When you've done all this, you'll be ready to create modules in Python all by yourself. Finally, you'll enhance your skills by performing some very interesting manipulations on images.

What You Will Learn:

The viewer will know the basics of what programming languages are, but won’t need any knowledge of Python. Nor will the need any actual hands-on experience in a specific language.

Python Projects for Kids

Jessica Ingrassellino

ISBN: 9781782175063

192 pages, April 2016, Packt Publishing

Kids are always the most fast-paced and enthusiastic learners, and are naturally willing to build stuff that looks like magic at the end (when it works!). Programming can be one such magic. Being able to write a program that works helps them feel they've really achieved something. Kids today are very tech-savvy and cannot wait to enter the fast-paced digital world.

Because Python is one of the most popular languages and has a syntax that is quite simple to understand, even kids are eager to use it as a stepping stone to learning programming languages.

This book covers projects that are simple and fun, and teach kids how to write Python code that works.

The book will teach the basics of Python programming, installation, and so on and then will move on to projects. A total of three projects, with each and every step explained carefully, without any assumption of previous experience.

What You Will Learn:

This book is for kids (aged 10 and over). This is book is intended for absolute beginners who lack any knowledge of computing or programming languages and want to get started in the world of programming.

Learn to Program with Minecraft

Craig Richardson

ISBN: 978-1-59327-670-6

304 pages, December 2015, No Starch Press

You’ve bested creepers, traveled deep into caves, and maybe even gone to The End and back—but have you ever transformed a sword into a magic wand? Built a palace in the blink of an eye? Designed your own color-changing disco dance floor?

In Learn to Program with Minecraft®, you’ll do all this and more with the power of Python, a free language used by millions of professional and first-time programmers!

Begin with some short, simple Python lessons and then use your new skills to modify Minecraft to produce instant and totally awesome results. Learn how to customize Minecraft to make mini-games, duplicate entire buildings, and turn boring blocks into gold.

You’ll also write programs that:

Whether you’re a Minecraft megafan or a newbie, you’ll see Minecraft in a whole new light while learning the basics of programming. Sure, you could spend all day mining for precious resources or building your mansion by hand, but with the power of Python, those days are over!

Requires: Windows 7 or later; OS X 10.10 or later; or a Raspberry Pi.

Uses Python 3

Automate the Boring Stuff with Python

Al Sweigart

ISBN: 978-1-59327-599-0

504 pages, April 2015, No Starch Press

If you’ve ever spent hours renaming files or updating hundreds of spreadsheet cells, you know how tedious tasks like these can be. But what if you could have your computer do them for you?

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:

Step-by-step instructions walk you through each program, and practice projects at the end of each chapter challenge you to improve those programs and use your newfound skills to automate similar tasks.

Don’t spend your time doing work a well-trained monkey could do. Even if you’ve never written a line of code, you can make your computer do the grunt work. Learn how in Automate the Boring Stuff with Python.

Note: The programs in this book are written to run on Python 3.

Doing Math with Python

Amit Saha

ISBN: 978-1-59327-640-9

264 pages, August 2015, No Starch Press

In Doing Math with Python you'll learn to how to use the Python programming language as a tool to delve into math concepts. Python is easy to learn, and it's perfect for exploring topics like statistics, geometry, probability, and calculus. You’ll learn to write programs to find derivatives, solve equations graphically, manipulate algebraic expressions, even examine projectile motion.

Rather than crank through tedious calculations by hand, you'll learn how to use Python functions and modules to handle the number crunching while you focus on the principles behind the math. Exercises throughout teach fundamental programming concepts, like using functions, handling user input, and reading and manipulating data. As you learn to think computationally, you'll discover new ways to explore and think about math, and gain valuable programming skills that you can use to continue your study of math and computer science.

If you’re interested in math but have yet to dip into programming, you’ll find that Python makes it easy to go deeper into the subject—let Python handle the tedious work while you spend more time on the math.

Suggested for ages 14 and up.

Python Crash Course

Eric Matthes

ISBN: 978-1-59327-603-4

624 pages, November 2015, No Starch Press

Solve Problems, Make Things, and Do Cool Stuff!

Python Crash Course is a fast-paced and thorough introduction to Python that will have you writing programs, solving problems, and making things that work, fast.

In the first half of the book you’ll learn basic programming concepts, from installing Python to testing code, including how to use a text editor, write clean and readable code, store data in lists and dictionaries, create classes that simulate real-life objects, and write loops to perform actions on your data. You’ll also learn how to make your programs interactive and test your code safely before adding it to your project. The exercises in chapters will help cement your learning so you can put that knowledge into practice in the second half, with three substantial projects: a Space-Invaders-inspired arcade game, data visualization with Python’s super-handy libraries, and a simple Web app you can deploy online.

As you work through Python Crash Course you’ll learn how to:

Python Crash Course will teach you just what you need to know to start programming meaningful things quickly.

Uses Python 2 and 3

Python for Kids

Jason Briggs

ISBN: 978-1-59327-407-8

344 pages, December 2012, No Starch Press

The code in this book runs on almost anything: Windows, Mac, Linux, even an OLPC laptop or Raspberry Pi!

Python is a powerful, expressive programming language that’s easy to learn and fun to use! But books about learning to program in Python can be kind of dull, gray, and boring, and that’s no fun for anyone.

Python for Kids brings Python to life and brings you (and your parents) into the world of programming. The ever-patient Jason R. Briggs will guide you through the basics as you experiment with unique (and often hilarious) example programs that feature ravenous monsters, secret agents, thieving ravens, and more. New terms are defined; code is colored, dissected, and explained; and quirky, full-color illustrations keep things on the lighter side.

Chapters end with programming puzzles designed to stretch your brain and strengthen your understanding. By the end of the book you’ll have programmed two complete games: a clone of the famous Pong and “Mr. Stick Man Races for the Exit”—a platform game with jumps, animation, and much more.

As you strike out on your programming adventure, you’ll learn how to:

Why should serious adults have all the fun? Python for Kids is your ticket into the amazing world of computer programming.

For kids ages 10+ (and their parents).

Featuring original artwork by Miran Lipovača!

Teach Your Kids to Code

Bryson Payne

ISBN: 978-1-59327-614-0

336 pages, April 2015, No Starch Press

Teach Your Kids to Code is a parent's and teacher's guide to teaching kids basic programming and problem solving using Python, the powerful language used in college courses and by tech companies like Google and IBM.

Step-by-step explanations will have kids learning computational thinking right away, while visual and game-oriented examples hold their attention. Friendly introductions to fundamental programming concepts such as variables, loops, and functions will help even the youngest programmers build the skills they need to make their own cool games and applications.

Whether you've been coding for years or have never programmed anything at all, Teach Your Kids to Code will help you show your young programmer how to:

Teach Your Kids to Code is the perfect companion to any introductory programming class or after-school meet-up, or simply your educational efforts at home. Spend some fun, productive afternoons at the computer with your kids—you can all learn something!

Python for complete beginners

Dr. Martin Jones

ISBN: 978-1514376980

246 pages, 2015

Getting started with programming can be an intimidating challenge. Most books and tutorials assume lots of previous knowledge, skip over jargon and new concepts, and use examples that only make sense if you already understand programming.

This book is different. It gives you an introduction to programming in Python from the ground up, starting with tips on installation and setting up your programming environment, and moving through the core parts of the Python language in a logical order. Dr. Jones has drawn on his many years experience teaching programming to produce a book that will guide you through the language step by step in simple terms.

The book doesn't assume any previous knowledge, and introduces fundamental programming concepts like variables, loops and functions using simple terms and easy-to-follow examples that you can run and modify.

The book takes a unique approach to practical exercises. Rather than simply presenting you with the solutions, it shows you how large, complex programs are gradually built up from simple building blocks, explaining the role of every line. You can download the examples and exercise solutions - edit, modify and run them yourself.

Examples and exercise files available at the author's website: Python for complete beginners

Geoprocessing with Python

Chris Garrard

Manning Publications ISBN: 9781617292149, 400 pages, MEAP Began May 2014

Geospatial data is hard to ignore. Nearly every car, phone, or camera has a GPS sensor, and aerial photos, satellite imagery, and data representing political boundaries, roads, rivers, and streams are available for free download from many websites. Geoprocessing is the science of reading, analyzing, and presenting geospatial data programmatically. The Python language, along with dozens of open source libraries and tools, makes it possible to take on professional geoprocessing tasks without investing in expensive proprietary packages like ArcGIS and MapInfo.

Geoprocessing with Python teaches you how to use the Python programming language along with free and open source tools to read, write, and process geospatial data. You'll learn how to access available data sets to make maps or perform your own analyses using free and open source tools like the GDAL, Shapely, and Fiona Python modules. You'll master core practices like handling multiple vector file formats, editing and manipulating geometries, applying spatial and attribute filters, working with projections, and performing basic analyses on vector data. You'll also learn how to create geospatial data, rather than just consuming it. The book also covers how to manipulate and analyze raster data, such as aerial photographs, satellite images, and digital elevation models.

Chapter one available for free: Introduction

MEAP Available at Manning Publications's Site: Geoprocessing with Python

Algorithms and Programming Course

Guilherme Soares Lima

(2015, 100 pages)

The book is a gentle introtuction to algorithms and programming with Python, specially for those that don't know how to program on any language. It has a progressive approach, it covers most of basic topics like programming logics, repetition structures. It is a small book, but yet a powerful tool for learning. It helps get good orientation from the beginning. It has only 100 pages and it's free.

Fundamentals of Python: First Programs

Ken Lambert

ISBN 13: 978-1-111-82270-5 (2012, 510 pages)

An introduction to programming and problem solving with Python (CS1). Covers algorithmic problem solving, basic data structures, functional design, and object-oriented design. Also includes an introduction to turtle graphics, image processing, GUIs, and networks.

  1. Introduction.
  2. Data Types and Expressions.
  3. Control Statements.
  4. Strings and Text Files.
  5. Lists and Dictionaries.
  6. Design with Functions.
  7. Simple Graphics and Image Processing.
  8. Design with Classes.
  9. Graphical User Interfaces.
  10. Multithreading, Networks, and Client/Server Programming.

Link to example programs and other information at the author's website.

Fundamentals of Python: Data Structures

Ken Lambert

ISBN 13: 978-1-285-75200-6 (2014, 496 pages)

An introduction to Python with data structures (CS2). Covers the design of collection classes with polymorphism and inheritance, multiple implementations of collection interfaces, and the analysis of space/time tradeoffs of different collections, all within a realistic collection framework.

  1. Basic Python Programming.
  2. An Overview of Collections.
  3. Searching, Sorting, and Complexity Analysis.
  4. Arrays and Linked Structures.
  5. Interfaces, Implementations, and Polymorphism.
  6. Inheritance and Abstract Classes.
  7. Stacks.
  8. Queues.
  9. Lists.
  10. Trees.
  11. Sets and Dictionaries.
  12. Graphs.

Link to example programs and other information at the author's website.

Easy GUI Programming in Python

Ken Lambert

ISBN-13: 978-0-9859567-0-7 (August, 2012, 110 pages, ebook only)

An introduction to GUI programming in Python. Topics include the basics of window layout, widget configuration, and responding to user events. The book uses a toolkit, breezypythongui, to explore GUI concepts and resources within a simple coding framework.

  1. The Hello World Program
  2. Windows, Layouts, and Window Components
  3. Command Buttons and Responding to Events
  4. Input and Output with Data Fields
  5. Error Handling and Message Boxes
  6. The Model/View/Controller Pattern
  7. Check Buttons, Radio Buttons, and Menus
  8. Scrolling List Boxes
  9. Text Areas and File Dialogs
  10. Dialogs
  11. Canvases and Graphics Operations
  12. Responding to Mouse Events in Canvases

Link to example programs and ebook vendor sites at the author's website.

Building Machine Learning Systems with Python

By Willi Richert, Luis Pedro Coelho

ISBN 13: 9781782161400 Packt Publishing 290 pages (July 2013)

Master the art of machine learning with Python and build effective machine learning systems with this intensive hands-on guide

Who this book was written for

This book is for Python programmers who are beginners in machine learning, but want to learn Machine learning. Readers are expected to know Python and be able to install and use open-source libraries. They are not expected to know machine learning, although the book can also serve as an introduction to some Python libraries for readers who know machine learning. This book does not go into the detail of the mathematics behind the algorithms.

This book primarily targets Python developers who want to learn and build machine learning in their projects, or who want to provide machine learning support to their existing projects, and see them getting implemented effectively.

Publisher's page

Learning to Program Using Python

Cody Jackson

ISBN: 1461182050 (November 2011, 230 pages)

An introduction to computer programming, using the easy, yet powerful, Python programming language. Python, a cross-platform language used by such organizations as Google and NASA, lets you work quickly and efficiently, allowing you to concentrate on your work rather than the language. The core Python language (both versions 2.x and 3.x) is discussed, as well as an introduction to graphical user interface creation.

The ideas covered in this book provide the reader with many major programming topics, applicable to a wide variety of programming languages. After reading this book, the reader should be able to quickly create simple to medium-level programs and be prepared to tackle more complex programming tasks.

Print version

Kindle version (no DRM)

The book's website also provides alternative electronic versions for free, without DRM. In addition, source code files for programs shown in the book are also available.

Python 2.6 Text Processing Beginner's Guide

Jeff McNeil

ISBN 13: 978-1-84951-212-1 Packt Publishing 380 pages (December 2010)

The easiest way to learn how to manipulate text with Python:

Publisher's page

Learning Python, 5th Edition

(Mark Lutz, O'Reilly Media, June 2013, 1600 pages)

An in-depth, tutorial introduction to Python core language fundamentals, based on 260 live classes taught by the author. This edition is updated to cover both Python 3.X and 2.X. It is specifically based on 3.3 and 2.7, but is applicable to other releases.

Links: author, publisher.

Programming Python, 4th Edition

(Mark Lutz, O'Reilly Media, December 2010, 1600 pages)

An in-depth, tutorial introduction to common Python application programming domains, and a follow-up to the core language coverage of Learning Python. This edition is updated to use Python 3.X (3.1 and 3.2 specifically), but is still largely applicable to most 2.X readers.

Links: author, publisher.

Python Pocket Reference, 4th Edition

(Mark Lutz, O'Reilly Media, September 2009, 200 pages)

A reference-only book, designed to serve as a companion to both Learning Python and Programming Python. This edition is updated to cover both Python 3.X and 2.X. It is specifically based on 3.1 and 2.6, but is applicable to other releases.

Links: author, publisher.

Head First Python by Paul Barry

Head First Python

Ever wished you could learn Python from a book? Head First Python helps you learn the language through a unique method that goes beyond syntax and how-to manuals. You'll quickly grasp Python's fundamentals, then move on to persistence, exception handling, web development, SQLite, data wrangling, and Google App Engine. You'll also learn how to write mobile apps for Android, all thanks to the power that Python gives you. Head First Python is a complete learning experience that will help you become a bona fide Python programmer.

This book is designed to get you up to speed with Python as quickly as possible.

See and for more details.

Practical Programming by Jennifer Campbell, Paul Gries, and Jason Montojo

Practical Programming (2nd edition): An Introduction to Computer Science Using Python 3

Computers are used in every part of science from ecology to particle physics. This introduction to computer science continually reinforces those ties by using real-world science problems as examples. Anyone who has taken a high school science class will be able to follow along as the book introduces the basics of programming, then goes on to show readers how to work with databases, download data from the web automatically, build graphical interfaces, and most importantly, how to think like a professional programmer.

Practical Programming by Jennifer Campbell, Paul Gries, Jason Montojo, and Greg Wilson

Practical Programming: An Introduction to Computer Science Using Python

Computers are used in every part of science from ecology to particle physics. This introduction to computer science continually reinforces those ties by using real-world science problems as examples. Anyone who has taken a high school science class will be able to follow along as the book introduces the basics of programming, then goes on to show readers how to work with databases, download data from the web automatically, build graphical interfaces, and most importantly, how to think like a professional programmer.

Python 3 Object Oriented Programming

Dusty Phillips

ISBN-13: 978-1-849511-26-1 Packt Publishing 404 pages (July 2010)

Harness the power of Python 3 objects:

Overview of Python 3 Object Oriented Programming

Who this book is written for If you're new to Object Oriented Programming techniques, or if you have basic Python skills and wish to learn in depth how and when to correctly apply Object Oriented Programming in Python, this is the book for you.

If you are an object-oriented programmer for other languages, you too will find this book a useful introduction to Python, as it uses terminology you are already familiar with.

Python 2 programmers seeking a leg up in the new world of Python 3 will also find the book beneficial, and you need not necessarily know Python 2.

Publisher's page

The Practice of Computing Using Python by Bill Punch and Rich Enbody

The Computer Science Department of Michigan State University converted their Introduction to Programming Course CSE 231 to Python in the Fall of 2007. One of the products of this change was this textbook, written as a general introduction to CS1 using Python. The book adopts the theme of "data manipulation" for its examples, focusing on using real-world datasets and manipulating them (averages, graphs, indicies, searches, etc.) in various ways.

The book covers the standard CS1 curriculum, and includes extensive algorithm development sections to help students in their study of computing. Supplemental material is also provided including: full set of power point slides, collaborative lab exercises, project homeworks and solutions to over 600 exercises in the book.

Head First Programming by Paul Barry and David Griffiths

A Learner's Guide to Programming, using the Python Language

Ever wished you could learn how to program from a book? If you have no previous programming experience, you might be wondering where to start. Head First Programming introduces the core concepts of writing computer programs--variables, decisions, loops, functions, and objects--which apply regardless of the programming language, but uses concrete examples and exercises in the dynamic and versatile Python language to apply and reinforce these concepts.

Learn the basic tools to start writing the programs that interests you, not the generic software someone else thinks you should have, and get a better understanding of what software can (and cannot) do. When you're finished, you'll have the necessary foundation to apply to whatever language or software project you need or want to learn.

Programming in Python 3: A Complete Introduction to the Python Language (Second Edition) by Mark Summerfield

This book teaches you how to write programs using Python 3 in good Python 3 style.

The book will be useful to people who program professionally as part of their job, whether as full-time software developers, or those from other disciplines, including scientists and engineers, who need to do some programming in support of their work. It will also prove ideal for those Python 2 programmers who need to migrate (or prepare to migrate) to Python 3. The book is also suitable for students—the only prerequisite is some basic knowledge of programming in any language, for example, Basic or Java, or of course Python itself.

The book teaches solid procedural style programming, then builds on that to teach solid object-oriented programming, and then goes on to more advanced topics such as descriptors and class decorators. But even newcomers to Python 3 should be able to write useful (although small and basic) programs after reading chapter 1, and then go on to create larger and more sophisticated programs as they work through the chapters.

The book's web site lists the table of contents and has links to extracts. It also has all the examples and exercise solutions available for download.

Python for Software Design: How to Think Like a Computer Scientist by Allen B. Downey, Olin College of Engineering, Massachusetts

Python for Software Design is a concise introduction to software design using the Python programming language. Intended for people with no programming experience, this book starts with the most basic concepts and gradually adds new material. Some of the ideas students find most challenging, like recursion and object-oriented programming, are divided into a sequence of smaller steps and introduced over the course of several chapters. The focus is on the programming process, with special emphasis on debugging. The book includes a wide range of exercises, from short examples to substantial projects, so that students have ample opportunity to practice each new concept. Exercise solutions and code examples are available from, along with Swampy, a suite of Python programs that is used in some of the exercises.

Hello World! Computer Programming for Kids and Other Beginners by Warren Sande and Carter Sande

"Computer programming is a powerful tool for children to 'learn learning,' that is, to learn the skills of thinking and problem-solving...Children who engage in programming transfer that kind of learning to other things."--Nicholas Negroponte, the man behind the One Laptop Per Child project that hopes to put a computer in the hands of every child on earth, January 2008

Your computer won't respond when you yell at it. Why not learn to talk to your computer in its own language? Whether you want to write games, start a business, or you're just curious, learning to program is a great place to start. Plus, programming is fun!

Hello World! provides a gentle but thorough introduction to the world of computer programming. It's written in language a 12-year-old can follow, but anyone who wants to learn how to program a computer can use it. Even adults. Written by Warren Sande and his son, Carter, and reviewed by professional educators, this book is kid-tested and parent-approved. You don't need to know anything about programming to use the book. But you should know the basics of using a computer--e-mail, surfing the web, listening to music, and so forth. If you can start a program and save a file, you should have no trouble using this book.

Color ebook and black and white print book are both available from the publisher at

Hello Python! by Anthony Briggs

Hello! Python fully covers the building blocks of Python programming and gives you an introduction to more advanced topics such as object-oriented programming, functional programming, network programming, and program design. New (or nearly new) programmers will learn most of what they need to know to start using Python immediately.

A more advanced book than Hello World!, it takes a different tack. You follow along as the author writes a practical project in every chapter. You'll see how programmers think about solving problems with programming, and there are hints on how to extend the projects to suit your own needs.

The Quick Python Book, 2nd edition

This revision of Manning's popular The Quick Python Book offers a clear, crisp introduction to the elegant Python programming language and its famously easy-to-read syntax. Written for programmers new to Python, this updated edition covers features common to other languages concisely, while introducing Python's comprehensive standard functions library and unique features in detail.

After exploring Python's syntax, control flow, and basic data structures, the book shows how to create, test, and deploy full applications and larger code libraries. It addresses established Python features as well as the advanced object-oriented options available in Python 3. Along the way, you'll survey the current Python development landscape, including GUI programming, testing, database access, and web frameworks.

Chapter 4 Chapter 6

Review by Jim Kohli,

Ebook and print book are both available from the publisher at

IronPython in Action by Michael Foord

IronPython is an implementation of Python for the Microsoft .NET framework, Mono, and the Silverlight and Moonlight browser plugins. IronPython in Action is an introduction to programming with IronPython for both .NET programmers interested in Python and Python programmers new to .NET.

IronPython in Action includes a swift paced Python tutorial, chapters introducing .NET libraries and structured application development with Python, integrating with other .NET languages like C# and VB.NET, server side web programming with ASP.NET and client side web programming with Silverlight, system administration, working with the WPF and Windows Forms user interface libraries and embedding the IronPython engine in .NET applications.

As well as covering specific topics and both Python and .NET libraries the book pays special attention to the nitty-gritty details of Python and .NET integration that previous experience with Python or C# won't necessarily have prepared you for.

Color ebook and black and white print book are both available from the publisher at

"Beginning Python: From Novice to Professional, Second Edition" Magnus Lie Hetland

ISBN13: 978-1-59059-982-2 Apress Inc, 688 pages (September 2008)

Gain a fundamental understanding of Python’s syntax and features with the second edition of Beginning Python, an up–to–date introduction and practical reference. Covering a wide array of Python–related programming topics, including addressing language internals, database integration, network programming, and web services, you’ll be guided by sound development principles. Ten accompanying projects will ensure you can get your hands dirty in no time.

Updated to reflect the latest in Python programming paradigms and several of the most crucial features found in the forthcoming Python 3.0 (otherwise known as Python 3000), advanced topics, such as extending Python and packaging/distributing Python applications, are also covered.

Home Page (includes electronic version)

Object-Oriented Programming in Python

This is a textbook for an object-oriented introduction to computer science course (CS1) using Python.

Home Page

0136150314, Prentice Hall Publishing, 688 pages (October 2007)

An Introduction to Python (version 2.5)

0954161769, Network Theory Ltd, 164 pages (November 2006)

This is a printed edition of the official Python tutorial by Guido van Rossum. For each copy sold $1 will be donated to the Python Software Foundation.

Home Page (includes electronic version)

Python for Dummies (version 2.5)

0471778648, For Dummies, 410 pages (August 2006)

Home Page

Following the usual Dummies style, this book takes a light-hearted approach to introducing Python. In addition to Python itself, Python for Dummies also gives lots of advice about good programming practices.

Introduction to Computing and Programming Using Python: A Multimedia Approach Mark Guzdial

ISBN: 0131176552

An introduction to programming by manipulating digital media --- creating negatives and grayscale pictures, splicing sounds, implementing chromakey.

Core Python Programming

ISBN: 0132269937 (2nd ed.); 0130260363 (1st ed.)

Prentice Hall PTR / Pearson Education

~1120 pages (Sep 2006); 810 pages (Jan 2001)

The main goal of this book is comprehensively teaching you the core of the Python language, much more than just its syntax (which you don't really need a book to learn, right?). Knowing more about how Python works under the covers, including the relationship between data objects and memory management, will make you a much more effective Python programmer coming out of the gate. The advanced topics chapters are meant as complete intros or "quick dives" into each of those distinct subjects. However, if moving towards those specific areas of development, they are more than enough to get you pointed in the right direction. We would say that the book is 40% introductory, 40% intermediate (in-depth core Python material plus advanced topics chapters), and 20% reference -- it is *not* meant to be a substitute for a pure reference such as the Python Essential Reference or Python in a Nutshell.

The new 2nd edition is expanded (300 new pages!) and updated through Python 2.5 as well as confirmed functionality for future versions! Also added are a few new chapters of advanced material. As in the 1st edition, a plethora of easy to advanced exercises can be found at the end of every chapter to hammer the concepts home. At the moment, this is the most complete and up-to-date Python book on the market today.

From an anonymous reviewer: "Very well written. It is the clearest, friendliest book I have come across yet for explaining Python, and putting it in a wider context. It does not presume a large amount of other experience. It may be too slow for more advanced people, but it does go into some important Python topics carefully and in depth. Unlike too many beginner books, it never condescends or tortures the reader with childish hide-and-seek prose games. Not too many in-depth real-world examples in the book (hopefully he will do a followup volume), it sticks to gaining a solid grasp of Python syntax and structure."

Home Page (includes book reviews, errata, sample chapter, links to alternate editions, source code from the book, and more!)

Links regarding the 1st edition: IBM Developer Works review Linux Journal review Chinese edition O'Reilly Safari electronic edition Indian edition (English) Korean edition Association of C/C++ Users review Python Learning Foundation review Mississippi Python users group (Useless Python) review

Python Programming: An Introduction to Computer Science

1887902996, Franklin Beedle & Associates, December 2003

This is a textbook for a "traditional" introduction to computer science course (CS1) using Python.

Home Page

0971677506, Green Tea Press 288 pages

How to Think... is a free textbook available under the GNU Free Documentation License. It is a true beginners book. The ebook version is free and available in PDF, HTML and PostScript.

Home Page

1590593561, Apress 432 pages

Dive Into Python is a free Python ebook for experienced programmers available under the GNU Free Documentation License. A printed version has been published by Apress, and is available through all major outlets.

Home Page

Learning Python

0596158068 O'Reilly & Associates, 1216 pages (September 2009)

Learning Python is meant for beginning Python programmers, and others seeking a quick introduction to the language. It focuses on core language fundamentals in depth, is based on Mark Lutz's Python training classes, and includes numerous exercises with solutions to guide the reader through a hands-on learning experience.

O'Reilly's catalog page Author's book page Sample chapters Review of first edition by Phil Hughes in Linux Journal

The Quick Python Book

1884777740, Manning Publications, 275 pages (October 1999)

A clear and concise description of Python aimed at readers who are already familiar with programming in at least one other language.

Two sample chapters Review by Francis Glassborow in _C Vu_ Review by Phil Hughes Review by AMK

A 2nd edition (complete rewrite moving it from Python 1.x to 3.x was published Jan 2010.

Publisher's page for The Quick Python Book, 2nd ed.

Learn to Program Using Python

0201709384, Addison-Wesley, 270 pages (December, 2000)

This book teaches programming in Python to true beginners. It started as a popular Web tutorial, and been expanded into a complete book.

Home Page

Programming Python (Third Edition)

0596009259, O'Reilly & Associates, 1596 pages (August, 2006)

A Python classic, updated and expanded to cover Python 2.5. The first edition, published in 1996, was the first Python book project to be signed. Programming Python is about what you can do with Python after you've mastered the language fundamentals - it assumes you already know the core language, and focuses on applications programming in gradual tutorial fashion. It is designed to be a natural follow-up to the book Learning Python. This book includes 300 pages on GUIs, 500 on Internet programming, and more on databases, systems programming, text processing, Python/C integration, and other topics. Also available in PDF form from O'Reilly.

O'Reilly's catalog page Author's book page Foreword by Guido van Rossum Review of the first edition by Greg Wilson Review of the first edition by Terry Rooker in ;login: Review of the first edition by Danny Yee

Python Pocket Reference (Third Edition)

0596009402, O'Reilly & Associates, 160 pages (February, 2005)

This handy reference guide summarizes Python statements, built-in functions, escape and formatting codes, and other prominent Python language features.

Python Standard Library

0596000960, O'Reilly & Associates, 250 pages (February 2001)

Based in part on 3,000 newsgroup articles written by Python veteran FredrikLundh over the last four and half years, this book provides sample scripts for all standard modules in the Python library. Also available in German.

Author's book page Electronic edition

Web Programming in Python: Techniques for Integrating Linux, Apache, and MySQL

0130410659, Prentice Hall, 450 pages (October 2001)

The book has introductory chapters on Python, networking, Apache, Linux, and MySQL. It is a self- contained reference to Python and open-source programming that makes use of Python to develop real applications that are also available under an open source license.

Programming With Python

0761523340, Prima Publishing, (October 1999)

Review by Phil Hughes in Linux Journal Review by Cary Miller

Python Developer's Handbook

0672319942, Sams, 600 pages (December 2000)

Python How to Program

0130923613, Prentice Hall, 1376 pages (2002)

In the renowned Deitel series "How to Program"


Text Processing in Python

The free text is available at:

Buy the dead-trees version at:

A review by Danny Yee at:

See also: TextProcessingInPython

Python Programming Patterns Thomas Christopher

Prentice-Hall, 2001

ISBN: 0130409561

There's a sample chapter at informIT

Reviews: ACCU review by Francis Glasborow; one of several books in Mertz's book roundup #3

Python Programming for the Absolute Beginner

1592000738 Premier Press, 456 pages (2003)

Simple intro accessible for beginners. Very hands-on and fun, utilizes development of games to teach each concept. Great for visual and hands-on learners alike.

Publisher's page

A Byte of Python

A Byte of Python is a book on programming using the Python language. It serves as a tutorial or guide to the Python language for anyone. If all you know is how to save text files, then you can learn Python using this book. If you are an expert programmer who loves C, Perl, Java or C#, you can also learn Python using this book.

This book can be read online or downloaded from

Practical Python

1590590066, 619 pages, APress (August 2002)

The first half of this book introduces the Python language, and the second half demonstrates its usage in various practical projects such as "automated document conversion, newsgroup administration, graphical PDF document generation, remote document maintenance, the creation of a peer-to-peer system with XML-RPC, database integration, and GUI and game development." A new edition of this book is available under the title Beginning Python: From Novice to Professional.

Publisher's page

Beginning Python: From Novice to Professional

1-59059-519-x, 640 pages, APress (September 2005)

This is an update of Practical Python.

Publisher's page

Computer Programming is Fun!

208 pages, Handy Software and Publishing (April 2005)

Written by a homeschooling Dad for teenage youth, this introductory computer programming book is for people who have no prior programming experience. Teaches the basic principles of programming using Python, with lots of examples. Small video game project at the end. Good for self-study or classroom use.

Problem Solving with Algorithms and Data Structures

1590280539, Franklin Beedle & Associates, December 2005

This is a textbook for a CS2 Data Structures Course.

Home Page

Python First: Introduction to Computing with Python

Atanas Radenski

The 'Python First' digital pack provides a gentle introduction to computer science. It is more than a book: Ten self-contained online chapters consist of e-texts, slides, 62 labs, tens of sample programs, and online quizzes. The 'Python First' pack includes a wealth of detailed self-guided labs that you can complete on your own.

Home Page

Python First: The Joy of Success

Atanas Radenski

ISBN: 978159526-713-9, 512 pages, Llumina Press, April 2007

This book is a paper companion to the "Python First" digital pack from The complete digital study pack features e-texts, slides, a wealth of detailed self-guided labs that learners can complete on their own, sample programs, and extensive quizzes. The book offers a printed version of the e-texts and self-guided labs in the same format as they appear in the online digital pack.

Publisher's page

Building Skills in Python

Steven F. Lott

How do you learn Python? By doing a series of exercises, each of which adds a single new feature of the language. This 250+ page book has 31 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.

Building Skills in Programming How To Write Your Own Software Using Python

Steven F. Lott

How do you learn to solve your own programs by writing programs? By doing a series of exercises, each of which builds up a part of the skill set we call "computer programming". This book has 54 chapters that will help you build basic programming skills through a series of exercises that grow from simple identification of the parts of your computer through to statistical simulations.

Building Skills in Object-Oriented Design

Steven F. Lott

How do you move from OO programming to OO design? Do a lot of design focused on building a sophisticated application program. This 269-page book has 43 chapters that will help you build OO design skills through the creation of a moderately complex family of application programs. This is a step-by-step guide to OO design and implementation using either the Java or Python programming languages.

Python Programming in Context

Bradley N. Miller and David L Ranum

Python Programming in Context is a clear, accessible introduction to the fundamental programming and problem solving concepts necessary for students at this level. The authors carefully build upon the many important computer science concepts and problem solving techniques throughout the text and offer relevant, real-world examples and exercises to reinforce key material. Programming skills throughout the text are linked to applied areas such as Image Processing, Cryptography, Astronomy, Music, the Internet, and Bioinformatics, giving students a well rounded look of its capabilities.

How Would Pareto Learn Python!

Rahul Verma

Python is a very powerful high level object oriented language and has easy bindings with C,C++,Java etc. It can very well be the first and the only language needed by a software tester for routine test automation tasks as well as for building robust general purpose test automation frameworks.

This online book is written keeping beginners in Python in mind. It bridges the gap between very basic tutorials and comprehensive books.

The book is provided for free by Talent Reboot Trainings and Asessments and hosts the online version of the book as a part of its official website.

Read Online Free Version - How Would Pareto Learn Python

CategoryPythonInEducation CategoryDocumentation

Practical Programming (in Python) "Practical Programming (in Python)" is meant as a first programming course and is tightly aligned with the University of Otago introductory programming course called Practical Programming. The textbook is organized into 24 "lectures" that cover all the basics of programming (sequence, selection, iteration, functions etc), plus all the major data structures supplied by Python.

This textbook is a modified version of "How to Think Like a Computer Scientist: Learning with Python 2nd Edition", by Jeffrey Elkner, Allen B. Downey and Chris Meyers.

'Start Here: Python Programming for Beginners "Start Here: Python Programming for beginners" by Jody S. Ginther was written after the changes made in Python 3. It is aimed at total beginners and uses hands-on practice and humor to make learning to program more relaxing and enjoyable.

Software Development I: with Python

ISBN: 978-0-9754759-4-2, LCCN: 2010906917, 605 pages

"Software Development I: with Python"

Tom Baugh

This course introduces the student to Python, cultivating professional software development skills along the way. Yet, this course requires no prior programming knowledge to learn or to teach. Organized as sixty-four lessons, sixteen tests and two exams, for a total of 82 lecture units, this course covers the following topics:

By the end of the course, students will have learned how to write Python projects, including custom classes and modules. The course culminates with an exploration of windowed application development, including a bitmapped graphics project. The course material includes the student text and CD-ROM with instructor's guide for each lesson, tests, exams, solutions guide for exercises, tests and exams, student handouts and completed projects for each lesson. The format of the course is intended to support classroom use, homeschool use, or self-study.

Introduction to Computer Science Using Python: A Computational Problem-Solving Focus

By Charles Dierbach, John Wiley & Sons, December 2012, 612 pages ISBN 13: 978-0-470-55515-6

Recommended by Guido van Rossum "This is not your average Python book ... The book is incredibly thorough: there are exercises throughout the text (not just at the end of each chapter), and it includes a plethora of examples, screenshots, tables, charts, diagrams, and photos ... I love the final chapter, which is an overview of the history of computing, starting with Charles Babbage and Ada Lovelace ... All in all, I think this book is a great text for anyone teaching CS1." Neopythonic

Recommended by Textbook Adopter Herbert Daly - University of Bedfordshire "As a University lecturer with considerable responsibility at level 1, I found this book to be an outstanding introduction to the world of computing and the Python language." Amazon Review



Publisher's page (for instructors' request of an evaluation copy) (for questions, and example textbook materials)

CategoryPythonWebsite CategoryPyCon2008

IntroductoryBooks (last edited 2017-01-02 03:09:36 by PacktPublishing)

Unable to edit the page? See the FrontPage for instructions.