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.
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.
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.
ISBN 13: 978-1-84951-212-1 Packt Publishing 380 pages (December 2010)
The easiest way to learn how to manipulate text with Python:
- The easiest way to learn text processing with Python
- Deals with the most important textual data formats you will encounter
- Learn to use the most popular text processing libraries available for Python
- Packed with examples to guide you through
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.
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.
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.
Head First Python by Paul Barry
- Published by: O'Reilly Media, November 2010, 496 pages.
- Print ISBN: 978-1-4493-8267-4, ISBN 10: 1-4493-8267-3
- Ebook ISBN: 978-1-4493-8268-1, ISBN 10: 1-4493-8268-1
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.
Practical Programming by Jennifer Campbell, Paul Gries, Jason Montojo, and Greg Wilson
Practical Programming: An Introduction to Computer Science Using Python
- ISBN: 978-1-93435-627-2
- 350 pages, Apr 2009
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.
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
- Learn how to do Object Oriented Programming in Python using this step-by-step tutorial
- Design public interfaces using abstraction, encapsulation, and information hiding
- Turn your designs into working software by studying the Python syntax
- Raise, handle, define, and manipulate exceptions using special error objects
- Implement Object Oriented Programming in Python using practical examples
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.
The Practice of Computing Using Python by Bill Punch and Rich Enbody
- ISBN-10: 0136110673
- ISBN-13: 9780136110675
- Addison-Wesley, 696 pp, 02/25/2010
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
- ISBN-10: 0596802374
- ISBN-13: 978-0596802370
- O'Reilly Media
- 440 pages (November 2009)
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.
- ISBN10: 0321680561
- Addison-Wesley Professional
- 648 pages (November 2009)
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
- ISBN-13: 9780521725965)
- Cambridge University Press
- 272 pages (March 2009)
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
- ISBN10: 1933988495
- Manning Publications
- 488 pages (January 2009)
"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.
- Vern Ceder
- Manning Publications,
- 335 pages (January 2010)
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.
Ebook and print book are both available from the publisher at www.manning.com/ceder.
IronPython in Action by Michael Foord
- ISBN10: 1933988339
- Manning Publications
- 480 pages (March 2009)
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
- Michael H. Goldwasser, David Letscher
This is a textbook for an object-oriented introduction to computer science course (CS1) using Python.
0136150314, Prentice Hall Publishing, 688 pages (October 2007)
An Introduction to Python (version 2.5)
- Guido van Rossum, and Fred L. Drake, Jr. (Editor)
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)
- Stef Maruch and Aahz Maruch
0471778648, For Dummies, 410 pages (August 2006)
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
- Wesley J. Chun
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
- John Zelle
1887902996, Franklin Beedle & Associates, December 2003
This is a textbook for a "traditional" introduction to computer science course (CS1) using Python.
How to Think Like a Computer Scientist: Learning with Python
- Allen Downey, Jeff Elkner and Chris Meyers
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.
Dive Into Python: Python for Experienced Programmers
- Mark Pilgrim
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.
- Mark Lutz
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.
The Quick Python Book
Daryl Harms, Kenneth McDonald
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.
A 2nd edition (complete rewrite moving it from Python 1.x to 3.x was published Jan 2010.
Learn to Program Using Python
- Alan Gauld
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.
Programming Python (Third Edition)
- Mark Lutz
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)
- Mark Lutz
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.
Web Programming in Python: Techniques for Integrating Linux, Apache, and MySQL
- George K. Thiruvathukal, John Shafaee and Thomas Christopher
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
- Tim Altom with Mitch Chapman,
0761523340, Prima Publishing, (October 1999)
Python Developer's Handbook
- Andre Lessa
0672319942, Sams, 600 pages (December 2000)
Python How to Program
- Harvey M Deitel, Paul J Deitel, Jonathan Liperi, Ben Wiedermann
0130923613, Prentice Hall, 1376 pages (2002)
In the renowned Deitel series "How to Program"
Text Processing in Python
- David Mertz
The free text is available at:
Buy the dead-trees version at:
A review by Danny Yee at: http://dannyreviews.com/h/Text_Python.html
See also: TextProcessingInPython
Python Programming Patterns Thomas Christopher
There's a sample chapter at informIT
Python Programming for the Absolute Beginner
- Michael Dawson
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.
A Byte of Python
- Swaroop C H
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
- Magnus Lie Hetland
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.
Beginning Python: From Novice to Professional
- Magnus Lie Hetland
1-59059-519-x, 640 pages, APress (September 2005)
This is an update of Practical Python.
Computer Programming is Fun!
- David Handy
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
- Brad Miller and David Ranum
1590280539, Franklin Beedle & Associates, December 2005
This is a textbook for a CS2 Data Structures Course.
Python First: Introduction to Computing with Python
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.
Python First: The Joy of Success
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.
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!
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.
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
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:
- Python variable, function, class and environment syntax.
- Custom module development.
- Software development skills and activities.
- Python dictionaries, lists, tuples and iterable types.
- Command console operations.
- List comprehensions.
- Python exception handling.
- IPython operations and commands.
- Essential built-in Python library features.
- An introduction to Matplotlib.
- An introduction to wxPython and windowed development.
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.