Python: Create - Modify - Reuse Paperback – Jul 8 2008
|New from||Used from|
Getting the download link through email is temporarily not available. Please check back later.
To get the free app, enter your mobile phone number.
From the Back Cover
Aimed at all levels of Python developers who are interested in a task-based way of learning Python development, this hands-on book shows how you can efficiently use Python to create robust, real-world applications. After a brief primer on this object-oriented, interactive programming language, you will jump right into practical Python development so that you can create useful, streamlined scripts that are easy to maintain and enhance, and that you can immediately put to use in the real world.
Each chapter features a complete project that you can use as it currently exists or modify to suit your particular purposes. Among these projects you'll find applications that access databases, take advantage of web technologies, facilitate network communications, and more. Plus, you'll also explore more advanced topics such as accessing operating system resources, writing scripts that are easy to read and maintain, and debugging and testing. However, even more important than the technologies you will be introduced to, you will learn how to use Python to solve real challenges.
What you will learn from this book
The various technologies and techniques that are available to Python developers
Ways to communicate with an SQL database
Tips for acting as a web server or communicating with one
How to access and manipulate XML files
Techniques for building a content management system
Ways to access and communicate with your operating system
Who this book is for
This book is for developers who want to explore how to develop full-blown applications with Python. A general understanding of basic programming principles and object-oriented design is helpful.
Create – Modify – Reuse guides are packed with unique, ready-to-use projects that are perfect for the busy programmer. The projects are created with minimal set-up, and can be modified, enhanced, and reused in real-world situations.
About the Author
Jim Knowlton is a software quality engineer with Automatic Data Processing (ADP), Inc., where he leads quality assurance efforts on ADP ’ s computer telephony integration and network video projects. He has been instrumental in introducing automated testing methodologies to their QA effort. He has more than fifteen years of experience in the software industry, including clients such as Symantec, Novell, Nike, and Zions Bank. He has extensive experience in open - source technologies, including Python, Ruby, PHP, Apache, and MySQL, and has also worked extensively in the areas of systems management and enterprise security. Jim holds a bachelor of arts degree in management and is currently working on a master of software engineering degree at Portland State University.
Most Helpful Customer Reviews on Amazon.com (beta)
I could not bring myself to like this book. It was a painful read because this book demonstrates poor and obsolete programming practices. I feel like this book would probably set a beginner back instead of helping them move forward. I would recommend almost any other Python book over this one.
The book does have seven fairly interesting projects, covering a wide breadth of the Python standard library (xml parsing, database access, file input/output, etc) and some web-based projects. That is why I wanted to like it. It covers interesting topics. However, this is not enough to make up for the sloppy editing, obsolete user interfaces, and poor programming practices. I will detail some of the problems below.
Sloppy editing - For example, look at the code sample at the top of page 31. This wouldn't even "compile" in Python's editor IDLE, because of the incorrect indenting.
....elif choice == "4":
........if choice != "5":
The "else:" is intended wrong and then on page 32 the same code is excerpted except it has been copied incorrectly:
....elif choice == "4":
You can see that the author corrected a mistake in the main block of code but then did not correct it in the excerpt.
This is just the tip of the iceberg for code blocks that will cause errors upon running them inside Python.
On to the next problem - The user interface for the command-line projects looks like something out of MS-DOS 3.1. In other words, it is extremely outdated, cumbersome and it's not even programmed effectively. The error messages are obtuse and don't even cover all the cases. Frankly, I expect a lot more from an author with an extensive background in testing. For example, in page 70, the "elif" block never checks for choices that are not 1 through 5. If you have an invalid choice it will cause a SQL error and print the error message "THERE WAS A PROBLEM MODIFYING THE RECORD" even though the error was caused by an invalid choice.
My final complaint is that the author does not follow Pythonic practices or even best practices from other languages. For example, the Try-Except blocks (page 79 for example) include large swaths of code instead of just the small section that will actually throw the exception. Also, the Except clause does not catch particular error classes but instead every error. These violate basic best practices for any language. Another example of not being very Pythonic is the lack of list comprehensions like on page 37 (also note that this sample includes inconsistent indentation and would likely cause the Python interpreter to fail):
....for item in filelist:
............if item.find(extension) != -1:
This could easily be re-written in the Pythonic way:
....snaplist = [for item in filelist if item.find(extension) = -1]
Unfortunately, I could go on and on talking about things I don't like about this book. The bottom line is that I don't recommend it.
The source code in the book is broken into fragments and isn't usable by itself. You will need to download the accompanying source from the publisher to run the programs. Unfortunately too much of the downloaded source is broken and has to be fixed before it will run. The style and organization of the code reminds me of a first year student's programming assignment.
I'm just glad I only borrowed this book from the library and it had to go back anyway.
I've tried to find a book that teach me python about, command line interactive, file read/write, CSV & MySQL full application (not a GUI but in the console interactive).
All of the examples are using project as a guideline. The code is easy to follow and the author explain well (IMO, a bit too detail for the some same topic that no needs to explain)
So, in the nature of Python, we have to download additional libraries mostly. So, for most the code examples are work for me.
I'm happy about this book very much. SInce I'm looking for a book that can teach me Python in a few days and can read + understand how to use python in each project by reading the book mostly. So, I can now move to the more detail books like Core Python or Python in Nut Shell, etc.
What I would like the book to have is about using web framework like Django, TurboGears or Pylon. The book use Plone. No question about how good Plone is but the little chapter for it is too superficial for Plone and it can be read from many websites. So, I think it'd be a popular and more lightweight framework like Django, Pylon, TurboGears.
If anyone have a few days even far from your computer. You can learn Python easily by the book and for most programmer, it's no need to type (but recommend) since the book describe the code in detail.
Recommend for people who want to know python quickly. Then you'll jump to next Python books like me :-)
Look for similar items by category
- Books > Computers & Technology > Programming > Languages & Tools > Python
- Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Object-Oriented Design
- Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Software Reuse
- Books > Computers & Technology > Software
- Books > Computers & Technology > Web Development > Programming
- Books > Textbooks > Computer Science & Information Systems > Programming Languages