Take Python beyond scripting to build robust, reusable, and efficient applicationsAbout This BookGet to grips with Python techniques that address commonly encountered problems in general application development.Develop, package, and deploy efficient applications in a fun way.All-practical coverage of the major areas of application development, including best practices, exception handling, testing, refactoring, design patterns, performance, and GUI application development.Who This Book Is ForDo you know the basics of Python and object oriented programming? Do you want to go an extra mile and learn techniques to make your Python application robust, extensible, and efficient? Then this book is for you.What You Will LearnBuild a robust application by handling exceptions.Modularize, package, and release the source distribution.Document the code and implement coding standards.Create automated tests to catch bugs in the early development stage.Identify and re-factor badly written code to improve application life.Detect recurring problems in the code and apply design patterns.Improve code efficiency by identifying performance bottlenecks and fixing them.Develop simple GUI applications using Python.In DetailPython 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.Style and approachThe book uses a fantasy game theme as a medium to explain various topics. Specific aspects of application development are explained in different chapters. In each chapter the reader is presented with an interesting problem which is then tackled using hands-on examples with easy-to-follow instructions.