- Get 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.
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.What you will learn
About the Author
- Build 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.
Ninad Sathaye has spent several years of his professional career designing and developing performance-critical engineering applications written in a variety of languages, including Python and C++. He has worked as a software architect in the semiconductor industry, and more recently in the domain of Internet of Things. He holds a master's degree in mechanical engineering.Table of Contents
- Developing Simple Applications
- Dealing with Exceptions
- Modularize, Package, Deploy!
- Documentation and Best Practices
- Unit Testing and Refactoring
- Design Patterns
- Performance – Identifying Bottlenecks
- Improving Performance – Part One
- Improving Performance – Part Two, NumPy and Parallelization
- Simple GUI Applications