Learning Python

I see Python as the interpreted language for those who expect to be able to go back and understand their program a year after they have written it.
  • Authors: Mark Lutz and David Ascher

  • Publisher: O'Reilly & Associates

  • E-mail: info@ora.com

  • URL: http://www.ora.com/

  • Price: $29.95 US

  • ISBN: 1-56592-464-9

  • Reviewer: Phil Hughes

To understand what this review means, you will need to know about two things: what Python is and my background. Python is an object-oriented, interpreted programming language suitable for scripting tasks as well as serious programming projects. I see Python as the interpreted language for those who expect to be able to go back and understand their program a year after they have written it.

Now, about me. You may know me as a magazine publisher, but I am truly just a geek who found a way to make less money. I have been writing in assembly language and FORTRAN since the '60s, and in more UNIX-like languages such as C and AWK since 1980. I have seriously used at least a dozen languages and am generally very comfortable around most anything except Cobol.

What I am not is an object-oriented programmer. I understand the concepts, but have never worked in an object-oriented language such as C++ or Modula.

Python is interpreted like Perl or awk, but it is object-oriented. I was ready to give it a try. The problem is that I am not a full-time programmer, because I have this publishing job to do, but many times I do end up writing code.

Armed with O'Reilly's Programming Python, I was off to become a Python expert. Well, to make a short story shorter, it didn't work. While it is a good book to use as a reference or to take with you to a desert isle along with your Python-equipped laptop, it wasn't the book for a part-time programmer with over 30 years of non-OOP experience to use.

Enter Learning Python. My executive summary is that this is the right book for me and probably for many others as well. While Learning Python doesn't tell you everything, it is a good 366 pages that will get you up and running. Written in a textbook style with examples and exercises, it introduces both object-oriented programming and the Python language.

Both authors have done Python training, and it shows. Examples appear where you need them, and the exercises actually test your understanding of important concepts. This is a book to read with a computer nearby. You will learn a great deal from the exercises.

The book is divided into three parts. The first part covers the core of the Python language, explaining types and operators, basic statements, functions, modules, classes and exceptions. Part two moves you out a little into Python's built-in tools, common tasks and finally how to build real programs. Part three covers Python resources on the Net, platform specifics and answers to the exercises.

I have been very thorough in going through this book (because I actually want to add Python to my language set), and have found the book to be extremely accurate. The examples all work and you won't be misled by the text—a problem far too common for first printings of technical books.

Who, besides me, should get this book? I would say anyone who is comfortable with computers and wants to learn a very cool object-oriented language. By “comfortable”, knowing one programming language or at least a scripting language is going to help a lot. While the book covers the basics, if expressions like “dynamic typing” or “syntax rules” scare you, then you may need to get a little more comfortable before attempting to learn a real programming language.

Phil Hughes is the publisher of Linux Journal. He can be reached via e-mail at phil@ssc.com.


Phil Hughes

One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix