Revision 158 as of 2013-07-08 16:32:34

Clear message

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.


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, 4th Edition

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

An in-depth, tutorial introduction to Python core language fundamentals, based on 250 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.1 and 2.6, 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 http://python.itcarlow.ie and http://www.headfirstlabs.com/books/hfpython/ 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 thinkpython.com, 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 www.manning.com/sande.


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, dzone.com

Ebook and print book are both available from the publisher at www.manning.com/ceder.


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 www.manning.com/foord.


"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 http://coweb.cc.gatech.edu/mediaComp-teach

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 http://www.apress.com/, 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"

description


Text Processing in Python

The free text is available at:

http://gnosis.cx/TPiP/

Buy the dead-trees version at:

http://tinyurl.com/jskh

A review by Danny Yee at: http://dannyreviews.com/h/Text_Python.html

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 http://www.swaroopch.com/notes/Python


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.

http://www.handysoftware.com/cpif/


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 studypack.com. 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.

http://homepage.mac.com/s_lott/books/python.html


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.

http://homepage.mac.com/s_lott/books/nonprogrammer.html


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.

http://homepage.mac.com/s_lott/books/oodesign.html


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.

http://www.jbpub.com/catalog/9780763746025/



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.


CategoryPythonWebsite CategoryPyCon2008

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