About Learning Python, 5th Edition

[Larger book cover]

book, ebook, online, 6E

[June 2013] I'm pleased to announce the release of the 5th Edition of the book Learning Python—the most comprehensive version of this classic and foundational Python language tutorial.

This new edition, designed for all Python learners in all Python domains, has been brought thoroughly up-to-date with Python 3.3 and 2.7, and expanded substantially to reflect current practice in the Python world. Like its previous editions, this book also applies to all other Python releases in common use today. Whether you're using 3.X, 2.X, or both, you'll find this new edition tailored to your current and future needs.

Among other language extensions, this edition incorporates Python 3.3's namespace packages and Windows launcher, as well as 2.7's adoption of 3.X features such as set and dictionary comprehensions. In addition, this version has grown more 2.X compatible, and has been augmented with enhanced coverage of tools such as super(), descriptors, the MRO, and metaclasses, which have grown more pervasive in today's Python code.

As always, this book is designed to be an in-depth introduction to the core Python language, and work much like a self-paced class on Python fundamentals. With quizzes, exercises, and solutions, its material embodies nearly two decades of live Python training experience and feedback from real Python learners like you. There's more on this book's content and scope in the Previews below and its main title page.

Learning Python, 5th Edition is available in print, ebook, and online forms from all the usual places, including Amazon and O'Reilly. For purchase options and links, please see the Purchase pointers page. FAQ: there are no plans for a new edition, as noted below.

Resources

More Resources

Previews

Contents

In brief, this edition's main parts reflect major language topics:

Getting Started An introduction to Python and ways to launch code
Types and Operations In-depth coverage of Python's built-in objects
Statements and Syntax Python's procedural statements' syntax and roles
Functions and Generators Functions and functional-programming tools
Modules and Packages Modules, module packages, and related concepts
Classes and OOP Comprehensive OOP coverage—from basic to advanced
Exceptions and Tools Raising and catching exceptions, context managers, tools survey
Advanced Topics Unicode, descriptors, properties, decorators, metaclasses, and more
Appendixes Usage tips, Windows launcher, Python changes, exercise solutions

For more details, check out the Preface excerpt, or the full Table of Contents in the O'Reilly sampler.

Example Programs

There are hundreds of examples in this text. Some are short code segments typed and run at the Python interactive prompt, and others are larger scripts or modules coded and run in files. Although typing code manually is an important part of the learning process, the book's larger examples can also be fetched both here and here.

Related Books

The following two books are designed to complement and augment Learning Python, forming a 3-book documentation set:

These two related books are not required reading, and some readers may opt to instead focus on specific application domains after finishing Learning Python's fundamentals coverage. For those looking for extra resources, though, they are suggested texts.

Recent Notes

(Sep-2024) About a new edition

Please see this page for breaking news.

(Mar-2019) Want to run the book's code on your phone?

This book mentions using Python on the Android and iOS mobile platforms in passing, but it is now entirely feasible to work though the book's examples and exercises on your smartphone. On Android, for example, the Termux app provides a full-featured Linux environment for running code in a console; the Pydroid 3 and QPython apps allow you to run Python code in GUI IDEs; and programmer-friendly keyboards may help. iOS also has multiple Python options, including Pythonista.

For more on using Python on Android, check out this site's related documents here and here; they focus on running Python tkinter GUIs on Android (also possible today), but cover general Android topics along the way. Of course, phones are not everyone's idea of coding-friendly tools, but these devices are becoming powerful enough to double as general-purpose computers, especially when paired with keyboards, mice, and styli.



[Home page] Books Code Blog Python Author Train Find ©M.Lutz