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

Optimizing Gold Hunt – Part one


It is time for some action. This section is organized in the following manner—you will learn some techniques to optimize the code and speedup the application. These techniques will be directly applied to improve the performance of the Gold Hunt game.

This is the first part of the optimization task. Here, the performance will be improved in three steps. We will call these optimization pass one, pass two, and pass three. After implementing each of these strategies, the code will be re-profiled to get an understanding of the speedup accomplished. Let's get started with optimization pass one.

Tweaking the algorithm – The square root

The profiling output (refer to the Profiling the initial code section) shows the find_distance method as the bottleneck. As a starter, let's make some changes to this algorithm so that it runs faster. Here is the original method that was presented in the Reviewing the initial code section in Chapter 7, Performance – Identifying Bottlenecks...