Internet Cross Logo
Internet Cross your one stop web tutorial website
Your Ad Here

Back to Learning Python, 3rd Edition product information


Back to your previous page

<< Previous

----

Next >>

Spotlight customer reviews:

Customer Rating: Average rating of 4/5Average rating of 4/5Average rating of 4/5Average rating of 4/5Average rating of 4/5
Summary: Thorough but demanding
Comment: Thorough, rigorous, comprehensive, but unless you are a seasoned programmer Learning Python will be a demanding reading.

Customer Rating: Average rating of 4/5Average rating of 4/5Average rating of 4/5Average rating of 4/5Average rating of 4/5
Summary: Its benefit depends on what you are looking for
Comment: I have been a Zope/Plone developer for over a year and that is also the total amount of time I have spent with Python. With a CompSci major and experience in languages like C, C++, and Java, Python was easy to pick up and is the most programmer-friendly programming language I have used. I learned Python mostly by reading the online, free book Dive Into Python and reading the open source code for Zope/Plone.

After a year of this, I knew Python pretty well (well, it took much less than a year) including best practices, but I felt that I may be missing the full potential of Python, because I only learned it in the context of Zope/Plone APIs and my needs for developing in that framework.

I picked up this book hoping to recover the basics, understand the behind-the-scenes technical aspects of what Python is actually doing, and to make sure I hadn't missed anything along the way.

For this purpose, I think this book works very well. The writers explain what is really happening behind the scenes (mostly in C), a handful of gotchas, and really helped me understood what Python was really doing and why. If this is what you are looking for, this is a great book to have.

However, if I did not already know Python, I think this book would have set me off track a bit. The writers spend a lot of time on what are really trivial concerns for beginners, and they hardly ever discuss best practices. In their effort to cover all the bases, such as while loops, they sometimes show something that is not a best practice in Python (you hardly ever use while loops in python). Important topics like classes and OOP aren't covered until late in the book. If you are new to Python, I highly recommend checking out Dive Into Python instead. They will get you developing as a Python programmer, instead of a C programmer that happens to be using Python (ie, using list comprehension instead of while loops, etc.).

Customer Rating: Average rating of 4/5Average rating of 4/5Average rating of 4/5Average rating of 4/5Average rating of 4/5
Summary: Good introduction to Python especially if you are new to scripting
Comment: Python is a programming language created by Guido van Rossum in 1990. Python has a fully dynamic type system and uses automatic memory management. Therefore, it is thus similar to Perl, Ruby, Scheme, Smalltalk, and Tcl. Python was designed to be a highly readable language. It aims toward an uncluttered visual layout, uses English keywords frequently where other languages use punctuation, and has notably fewer syntactic constructions than many structured languages such as C, Perl, or Pascal. It is particularly popular among those programmers who are involved in bioinformatics. This book is a great introduction to the language.

The book uses the traditional bottom-up approach. After an opening part motivating the language and introducing the interpreter we progress, from data types, through statements, and up through functions, modules, classes and exceptions. Classes get 100 pages; other parts get about 50 pages each. A closing part covers common tasks, advanced uses, and Python resources. Appendices give details on installation and configuration, and provide solutions to all the exercises. The book is thorough and patient. Topics are discussed in detail and at a steady pace. Repetition is used more than cross-reference. This book would be very good for self-study, as you can easily plod along or just dip into subjects in which you have interest. The exercises are worthwhile and to the point, and the solutions are detailed.

Documentation and design issues are addressed early and often, and are clearly a central part of what is being taught in this book. The example code is of the highest quality. The book's faults are minor. Although the preface says PyUnit and doctest are in Chapter 11; they are not, being given just a paragraph each in the core language summary in Chapter 26.

The book is not comprehensive, which is not a fault in itself, and a small number of language features are deemed 'too advanced' to be covered in depth, among them generators and the 'new style' classes. These features are sketched and given use cases, and the interested reader is directed to the documentation. Other features - like the useful little enumerate(object) - are not mentioned, but you have to draw the line somewhere since the book is already large, but not unwieldy.

This book is a good example of Python culture, in the clarity of its text as much as in the quality of its code. Anyone working their way through it will have a solid foundation upon which to explore Python's potential. The following is the table of contents for this highly recommended book:

Part I. Getting Started
1. A Python Q&A Session
Why Do People Use Python?; Is Python a Scripting Language?; Okay, But What's the Downside?; Who Uses Python Today?; What Can I Do with Python?; What Are Python's Technical Strengths?; How Does Python Stack Up to Language X?;
2. How Python Runs Programs
Introducing the Python Interpreter;
Program Execution ;
Execution Model Variations;
3. How You Run Programs
Interactive Coding; System Command Lines and Files; Clicking Windows File Icons; Module Imports and Reloads; The IDLE User Interface; Other IDEs; Embedding Calls; Frozen Binary Executables; Text Editor Launch Options; Other Launch Options; Future Possibilities?; Which Option Should I Use?; Part I Exercises;

Part II. Types and Operations
4. Numbers
Python Program Structure; Why Use Built-in Types?; Numbers; Python Expression Operators; Numbers in Action;The Dynamic Typing Interlude;
5. Strings
String Literals; Strings in Action; String Formatting; String Methods; General Type Categories;
6. Lists and Dictionaries
Lists; Lists in Action; Dictionaries; Dictionaries in Action;
7. Tuples, Files, and Everything Else
Tuples; Files; Type Categories Revisited; Object Generality; References Versus Copies; Comparisons, Equality, and Truth; Python's Type Hierarchies; Other Types in Python; Built-in Type Gotchas; Part II Exercises;

Part III. Statements and Syntax
8. Assignment, Expressions, and Print
Assignment Statements; Expression Statements; Print Statements;
9. if Tests
if Statements; Python Syntax Rules; Truth Tests;
10. while and for Loops
while Loops; break, continue, pass, and the Loop else; for Loops; Loop Variations;
11. Documenting Python Code
The Python Documentation Interlude; Common Coding Gotchas; Part III Exercises;

Part IV. Functions
12. Function Basics
Why Use Functions?; Coding Functions;A First Example: Definitions and Calls; A Second Example: Intersecting Sequences ;
13. Scopes and Arguments
Scope Rules; The global Statement; Scopes and Nested Functions; Passing Arguments; Special Argument Matching Modes;
14. Advanced Function Topics
Anonymous Functions: lambda; Applying Functions to Arguments; Mapping Functions Over Sequences; Functional Programming Tools; List Comprehensions; Generators and Iterators; Function Design Concepts; Function Gotchas; Part IV Exercises;

Part V. Modules
15. Modules: The Big Picture
Why Use Modules?; Python Program Architecture; How Imports Work ;
16. Module Coding Basics
Module Creation; Module Usage; Module Namespaces; Reloading Modules;
17. Module Packages
Package Import Basics ; Package Import Example; Why Use Package Imports?; A Tale of Three Systems;
18. Advanced Module Topics
Data Hiding in Modules; Enabling Future Language Features; Mixed Usage Modes; Changing the Module Search Path ; The import as Extension; Module Design Concepts; Module Gotchas; Part V Exercises ;

Part VI. Classes and OOP
19. OOP: The Big Picture
Why Use Classes?; OOP from 30,000 Feet;
20. Class Coding Basics
Classes Generate Multiple Instance Objects; Classes Are Customized by Inheritance; Classes Can Intercept Python Operators;
21. Class Coding Details
The Class Statement; Methods; Inheritance; Operator Overloading; Namespaces: The Whole Story;
22. Designing with Classes
Python and OOP; Classes as Records; OOP and Inheritance: "is-a" Relationships; OOP and Composition: "has-a" Relationships; OOP and Delegation; Multiple Inheritance; Classes Are Objects: Generic Object Factories; Methods Are Objects: Bound or Unbound; Documentation Strings Revisited; Classes Versus Modules;
23. Advanced Class Topics
Extending Built-in Types; Pseudo-Private Class Attributes; "New Style" Classes in Python 2.2; Class Gotchas; Part VI Exercises;

Part VII. Exceptions and Tools
24. Exception Basics
Why Use Exceptions?; Exception Handling: The Short Story; The try/except/else Statement; The try/finally Statement; The raise Statement; The assert Statement ;
25. Exception Objects
String-Based Exceptions; Class-Based Exceptions; General raise Statement Forms;
26. Designing with Exceptions
Nesting Exception Handlers; Exception Idioms; Exception Design Tips; Exception Gotchas; Core Language Summary; Part VII Exercises;

Part VIII. The Outer Layers
27. Common Tasks in Python
Conversions, Numbers, and Comparisons; Manipulating Strings; Data Structure Manipulations; Manipulating Files and Directories; Internet-Related Modules; Executing Programs ; Debugging, Testing, Timing, Profiling; Exercises;
28. Frameworks
An Automated Complaint System ; Interfacing with COM: Cheap Public Relations; A Tk-inter-Based GUI Editor for Managing Form Data; Jython: The Felicitous Union of Python and Java; Exercises;
29. Python Resources
Layers of Community; The Process; Services and Products; The Legal Framework: The Python Software Foundation; Software; Popular Third-Party Software; Web Application Frameworks; Tools for Python Developers;

Part IX. Appendixes
A. Installation and Configuration
B. Solutions to Exercises

Customer Rating: Average rating of 4/5Average rating of 4/5Average rating of 4/5Average rating of 4/5Average rating of 4/5
Summary: good beginner's book
Comment: I was entirely new to programming when this caught my eye; but I read it and got really into it. It's a great beginner's guide to python, but also to object-oriented languages in general. It goes from very basic, like the simple "print" statement to Java and C integration. From what I hear, it's also a great start to python to already-seasoned programmers. I found some parts about OOP dificult to understand, so I reccommend Python Programming for the Absolute Beginner (premier press).

Customer Rating: Average rating of 5/5Average rating of 5/5Average rating of 5/5Average rating of 5/5Average rating of 5/5
Summary: Excellent book....great for electrical engineers dabbling with scripts!!
Comment: I have been a user of Perl for about 3 years...i would rate myself as an intermediate level programmer and I use a lot of Perl and shell scripting for clean-up, text processing in my research.
After a point I realized that I was hardly re-using my code in Perl...i used to just write up a script everytime it beckoned. I also started finding it extremely hard to maintain and even understand code that i had written a few years back. Electrical Engineers are super efficient at getting something done but not always with programming elan and elegance!!

I decided to move to Python...and this book is an excellent start...though it sounds like it is for beginners...it is nice to review the initial stuff to contrast with perl and it is reasonably exhaustive. I have found it much easier to maintain code and other people in my lab have also started using my code as it is much easier to understand. The object-oriented approach is an extra-incentive to think more in terms of C++....code is in general clean and quite-efficient (not as much as C..since it is byte-code).

All electrical engineers who use a lot of shell scripting and aren't experts in programming, moving to python will definitely offer more flexibility and is much faster to implement than C or C++. And this is a pretty decent book (check out Van Rossum's tutorial or something on the web to get a feel).

 


<< Previous

Next >>

Showing page 9 of 24
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |