From the book lists at Adware Report:

All information current as of 19:05:01 Pacific Time, Monday, 21 February 2005.

Learning Python, Second Edition

   by Mark Lutz / David Ascher

    December, 2003


   Usually ships in 24 hours

Click the button below to . . .

(which will add the book to your Amazon U.S.A. "Shopping Cart")

. . . or use your browser's Back button to return to the search-list page.

Editorial description(s):
The authors of Learning Python show you enough essentials of the Python scripting language to enable you to begin solving problems right away, then reveal more powerful aspects of the language one at a time. This approach is sure to appeal to programmers and system administrators who have urgent problems and a preference for learning by semi-guided experimentation.

First off, Learning Python shows the relationships among Python scripts and their interpreter (in a mostly platform-neutral way). Then, the authors address the mechanics of the language itself, providing illustrations of how Python conceives of numbers, strings, and other objects as well as the operators you use to work with them. Dictionaries, lists, tuples, and other data structures specific to Python receive plenty of attention including complete examples.

Authors Mark Lutz and David Ascher build on that fundamental information in their discussions of functions and modules, which evolve into coverage of namespaces, classes, and the object-oriented aspects of Python programming. There's also information on creating graphical user interfaces (GUIs) for Python applications with Tkinter.

In addition to its careful expository prose, Learning Python includes exercises that both test your Python skills and help reveal more elusive truths about the language.
--This text refers to the

From Book News, Inc.
Intended for beginners, this guide introduces the core concepts of the open source Python programming language and samples a few of Python's built-in tools. After outlining the Python execution model, it describes Python's core data types, statements, functions, modules, classes, and standard library. The second edition covers Python 2.2.Copyright © 2004 Book News, Inc., Portland, OR

Book Info
Provides a description of the basic building blocks of a Python program. Introduces more advanced topics, including some complex, realworld examples and shows programmers how to use Python with specialized libraries to build largescale applications. Softcover. --This text refers to the

Book Description
Thoroughly updated, Learning Python, Second Edition introduces the basic elements of the latest release of Python 2.3 and covers new features, such as list comprehensions, nested scopes, and iterators/generators. Beyond language features, it also includes new context for less-experienced programmers, including fresh overviews of object-oriented programming and dynamic typing, new discussions of program launch and configuration options, new coverage of documentation sources, and more. There are also new use cases throughout to make the application of language features more concrete. The first part of Learning Python gives programmers all the information they'll need to understand and construct programs in the Python language, including types, operators, statements, classes, functions, modules and exceptions. The authors then present more advanced material, showing how Python performs common tasks by offering real applications and the libraries available for those applications. Each chapter ends with a series of exercises that will test your Python skills and measure your understanding.

Reader review(s):

Excellent introduction to Python, February 24, 2000
Together with "Perl: the programmer's companion", by Nigel Chapman, this is one of the best introductory book I ever read. If you already know "Programming Python", the previous book of Mark Lutz on Python, and are concerned about the possibility that this book was just another messy collection of concepts and tips, relax: this is a completely different object. "learning Python" is a well-designed, well-written and concise book. It gives you all you need to write system administration utilities, Internet-related programs and other small applications. (Should you need a book on TKinter, the standard GUI module of Python, buy "Python and TKinter programming", by John Grayson, Manning publisher).

Consider to buy this book because:

- It is clear and well written. No struggles to understand the basic concepts and having the first programs running.

- It is well-designed and well-structured. You can find the info you need in a snap.

- You get a real understanding of Python, not only a description of its nice features.

- It is concise. In a day or two you will be coding in Python.

- It is a very good guide to keep on your desk. It is the missing part of the online documentation.

- In describes how to perform the most common task with Python. You will not have to reinvent any wheel.

- It describes a few important modules of Python: JPython, TKinter and COM. You can get a feeling of what you can do with Python (but, to go further, you will have to read the online documentation and perform a few experiments by yourself).

Python is a very smart language and deserved a better book than "Programming Python". This is that book.

Good even for experienced..., January 26, 2004
I was a programmer for 15+ years and used Perl for 8 or so of those years, so although I'm a newcomer to Python I'm definitely not a newcomer to programming or to scripting languages. When I ordered this book, I was worried that it might be too basic, but the more advanced O'Reilly Python books have not been updated to Python 2.2/2.3, so I ordered Learning Python anyhow.

And now that I've read it, I can highly recommend it even for experienced programmers. You will have to skim over basics in various chapters, but it's well-written and covers many topics, including 5-10 pages on 2.2's new-style classes, including static and class methods, instance slots, class properties, and __getattribute__.

It refers you to Python's documentation for the details of complex topics, but still gives you an idea of the concepts in play. For example, after a couple of paragraphs on instance slots, it says,

"... Slots are something of a break with Python's dynamic nature, which dictates that any name may be created by assignment. They also have additional constraints and implications that are far too complex for us to discuss here (e.g. some instances with slots may not have an attribute dictionary __dict__); see Python 2.2 release documents for details."

Which I think is a good compromise. They don't fill the book with details, but they don't simply wave their hands and give you no clue as to issues outside the scope of the book.

It is well-written and well-organized. It covers the core language well and gives a good taste for standard packages and many other tools including things like Pyrex and ctype.

(And you won't be disappointed with Python itself. A great language!)

Fair introduction to Python for an experienced programmer, October 5, 1999
First off I would like to make a distinction between the Python programming language and this particular introduction to it. Python is a great language and you will enjoy programming in it. This is probably the source of excitement in reviews on this page. Because the book, unfortunately, has a number of flaws.

The tradition of O'Reilly Perl books has been not only to teach you the syntax of Perl, but also to introduce programming techniques and ideas how to make best use of the language features. This Python book scores zero on these points. It focuses on syntax exclusively and this makes it unsuitable for an absolute beginner. The examples are unimaginative. The authors show you how to write correct code for using "dictionaries", but not how to USE "dictionaries". A Perl book author would throw in a program that uses a "hash" to search for duplicate data entries (as they did).

Besides, the flow of the book is uneven. Functions and classes are discussed at length, but built-in data types and exceptions are looked at only briefly. All this is really unfortunate because there are not very many Python books on the market and it is a very good language.

Overall, I think, this book is best for experienced programmers who already know their CS, have to get up to speed with Python very quickly, have $30 to waste, and really love to own O'Reilly books. The rest might be better off by printing out the Python tutorial.

Succinct Yet Thorough Intro To Python For Programmers, June 19, 2001
Mark Lutz and David Ascher deliver precisely the needed information to meet the objective stated on the cover of the O'Reilly text, "Learning Python" (Help for Programmers).

A succinct, yet thorough treatment of the Python programming language is presented in some 350-plus written pages that are well organized and facilitate the development of Python programs in a "Read and Code as You Go" fashion.

After spot reading the Chapters on "Getting Started", "Types And

Operators", "Basic Statements", "Functions", "Modules" and "Common Tasks In Python", I was coding and running my first text file I/O Python programs within the first half of a day. The authors concise presentation of the concepts definitely facilitated the "learning curve", which so often is an obstacle when learning a new programming language. The material was also indexed very well with clear index descriptions to easily determine what the topic was and where to find it.

What I found to be the strongest point of the book were the "Gotchas" sections, in which the authors discussed topics such as Python Language Constructs, Program Class Usage and Coding Practices to be aware of. I found the "Common Coding Gotchas" section at the end of Chapter 3 of great benefit in coding and debugging my first self-authored Python programs (As I learned, Python is definitely a language where you want to indent consistently, avoid the mixing of blank spaces with tabs and not forget the use of colons to denote decision logic). The application of these concepts alone were a great asset in reducing the "Learning Curve" for me.

The program examples provided reinforced the clear, concise concepts presented by the authors. The programs that I studied were suited to running in both a Linux environment (using Linux Python Version 1.5.2 for SuSE(tm) Linux 7.0 and Red Hat(tm) Linux 6.1) and MS Windows(tm) NT/98 (using Active State's Active Python(tm) Version 2.1).

Exercises presented at the end of the chapter were effective at reinforcing the programming concepts presented. With some supplemental tutorial material for non-programmers, this book could be used as an educational text for a Python programming class, particularly one geared for programmers with scripting language experience.

The authors did a good job of covering a number of topics important to application programmers. Object-oriented Constructs, Manipulation of String Objects, Operating System Module Use, GUI Programming Component Frameworks and Applications such as Tkinter and JPython are discussed to provide the reader a good exposure to the extent of the Python language implementation and its strenght as a robust, object-oriented scripting language.

The book is definitely an invaluable resource for providing the essential material necessary to construct your first Python programs, especially if you've had prior programming experience with other scripting languages, such as REXX, Javascript or Perl.

Definitely one of the best O'Reilly publications I've read to date. Kudos to Mr. Lutz and Mr. Ascher for their contribution to making the experience of "Learning Python" a fun and productive pursuit. Five Stars!

Excellent introduction to Python, November 23, 1999
I believe this is an excellent book for learning Python. The author's style is flowing and smooth, the examples well-thought-out, and he makes it really easy to pick up Python. Compared to Programming Perl (the camel book) which is dense and heavily syntax-oriented making you feel like you're wading through syrup, this book was a pleasure to read.

Unreserved recommendation.

You'll love Python, March 2, 2003
I debated whether I should write seven pages, footnoted, indexed, and full of examples on why you should not buy this book and choose to seek another source for learning Python. But if you're the type who would actually make it through all that to get to the main point, you might actually LIKE "Learning Python". I'd rather save you, the save-able, from experiencing the same pain that I am going through right now. So here is my one-word review: "Excruciating". I hope this has been helpful. By the way, Python is fantastic and is ironically everything that this book is not.

Utterly Boring :-(((, March 2, 2004
I liked the first edition of this book, which gave a decent
inroduction into Python at a little more than 300 pages. When the
2nd edition came out I ordered a copy blindly, because I expected
a lot more information on latest Python features and modules from
its 580 pages. However, this book disappointed me very much. The
presentation of Python basics has been bloated so much that it
just bored me to death. For example, it takes Mr Lutz 189 pages
and 11 chapters to get to functions basics, which is twice as
much as in the first edition (now compare this to 24 pages in
Kernighan/Ritchie's C-book). On the other hand, there are only a
couple of pages on new-style classes. I cannot imagine an
experienced programmer who likes to sift through all that fluff.
I am also wondering if this book is exciting for newbies, but
maybe todays newbies are different. This book reminds me a lot of
"Programming Python" (by the same author), which I also hated for
its tediuos and bloated style.

Better than Perl or Tcl or shell scripts, January 12, 2004
It gives a thorough description of how to use Python; which is indeed easy to learn if you already know another language. But when the authors say that not having to compile Python programs means that development time is speeded up, perhaps they are overstating. For most programmers who use compiled languages like C or C++, the biggest time is taken up in finding a method that solves a problem, coding it and subsequent debugging. These days, compilers on recent hardware are fast enough that link/compile times are simply not a bottleneck to development productivity. So it is a bit of a straw dummy that the authors put forth.

However, they are absolutely spot on when comparing this to Perl or Tcl. Perl is powerful, but its code looks like assembler. Perl gurus tend to shrug when you point this out, usually saying they understand it, with the not-so-implicit suggestion that if you can't, it is your fault. But this leads to a real maintenance problem and a barrier to entry to others. The cleaner Python syntax can show coding intent far clearer. Plus, and more importantly, the object oriented nature of Python lets you scale up to much larger programs. This has always been a problem with scripting languages, all the way back to the various unix shell scripts and DOS bat files. Often, the most those ever gave you in terms of modular capabilities was the equivalent of subroutines. Which is strictly procedural and not OO.

By the way, there is a small contradiction between the above claim that Python is more understandable than Perl and the claim that it has an advantage over C++ or Java because it is not as verbose as those. Typically, in increasing amount of source code, you have Perl -> Python -> (C++,Java). If you think that Python is more understandable than Perl, then by that same logic, we could conclude that C++ or Java is more understandable than Python.

So if you are using Perl or Tcl and want something better, Python is a good choice. A good upgrade path.

But if you are currently using C or C++, with maybe X for graphics, or Java, then I suggest you stay with those. All three languages, with their graphics, give you a far richer toolset. Python would be a retrograde choice.

Good Beginner Language, November 8, 1999
I had no programming experience, and though I was worried at first to the many references to the C language it turned out to be an easy to follow book.

Best introductory book I have read to any computer language., June 7, 1999
I was recently introduced to Python by the second author, David Ascher (who works at the same Institute as I do). I am really impressed by the power of Python and by the exceptional quality of the reference guides and this book in particular. As a former Professor of Computer Science at Harvard, I wish that all computer science books were written with this amount of clarity and humour. Everybody in my research lab is now learning Python from this book and my chief programmer is even more enthusiastic about it than I am. It has enabled him to write some image processing software in a few weeks that would have required months in other languages (and he knew nothing about Python two months ago). For myself, it has encouraged me to start programming again after a gap of many years. In summary, the Python language is extremely useful for image processing (and many other applications) and this book makes it very easy and enjoyable to learn.

{end of page}

(Page code from the SEO Tools, Toys, and Packages site)