Book Image

Learning Python Application Development

By : Ninad Sathaye
Book Image

Learning Python Application Development

By: Ninad Sathaye

Overview of this book

Python is one of the most widely used dynamic programming languages, supported by a rich set of libraries and frameworks that enable rapid development. But fast paced development often comes with its own baggage that could bring down the quality, performance, and extensibility of an application. This book will show you ways to handle such problems and write better Python applications. From the basics of simple command-line applications, develop your skills all the way to designing efficient and advanced Python apps. Guided by a light-hearted fantasy learning theme, overcome the real-world problems of complex Python development with practical solutions. Beginning with a focus on robustness, packaging, and releasing application code, you’ll move on to focus on improving application lifetime by making code extensible, reusable, and readable. Get to grips with Python refactoring, design patterns and best practices. Techniques to identify the bottlenecks and improve performance are covered in a series of chapters devoted to performance, before closing with a look at developing Python GUIs.
Table of Contents (18 chapters)
Learning Python Application Development
Credits
Disclaimers
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Revisiting Attack of the Orcs v1.0.0


The heal feature added in v1.0.0 became a hit among the core users. The OOP approach put you in a better position to implement new features (or so you thought!). As the feature requests started pouring in, so did the reported bugs.

The game is OK, but there are several annoyances. For example, when prompted to choose a hut, sometimes I input a number greater than 5 or input a character by mistake. After this, it just prints some weird error message and the application terminates. Can you fix this?

Debugging the problem

Let's try to reproduce the reported problem. Run the example from Chapter 1, Developing Simple Applications:

$ python ch01_ex03.py

When prompted for the hut number, enter any character, as shown in the following screenshot:

The application is terminated with an error traceback in the console. A traceback is a snapshot of the call stack at the point where the exception (the error) occurred. In this particular example, the _process_user_choice...