
Expert Python Programming shows how Python development should be done with best practices and expert design tips.
Python is a dynamic programming language, used in a wide range of domains by programmers who find it simple, yet powerful. From the earliest version 15 years ago to the current one, it has constantly evolved with productivity and code readability in mind.
Even if you find writing Python code easy, writing code that is efficient and easy to maintain and reuse is not so straightforward. This book will show you how to do just that: it will show you how Python development should be done. Python expert Tarek Ziadé takes you on a practical tour of Python application development, beginning with setting up the best development environment, and along the way looking at agile methodologies in Python, and applying proven object-oriented principles to your design.
What you will learn from this book
Chapter 1, Getting Started, explains how to install Python and makes sure all readers have the closest, standardized environment.
Chapter 2, Syntax Best Practices—Below the Class Level, presents iterators, generators, descriptors and so on, in an advanced way.
Chapter 3, Syntax Best Practices—Above the Class Level, is also about syntax best practices, but focuses on above the class level.
Chapter 4, Choosing Good Names, is an extension to PEP 8 with naming best practices, but also gives tips on designing good APIs.
Chapter 5, Writing a Package, explains how to write a package and how to use code templates, then focuses on how to release and distribute your code.
Chapter 6, Writing an Application, extends Chapter 5 by describing how a full application can be written. It demonstrates it through a small case study called Atomisator.
Chapter 7, Using zc.buildout, is about zc.buildout, a system for managing a development environment and releasing applications, which is widely used in the Zope and Plone community and is starting to be used outside the Zope world.
Chapter 8, Managing Code, shows how your project code base can be managed with distributed instead of centralized version control and explains how to set up continuous integration.
Chapter 9, Managing Life Cycle, presents how to manage software life cycle through an iterative and incremental approach.
Chapter 10, Documenting Your Project, is about documentation and gives tips on technical writing and how Python projects should be documented.
Chapter 11, Test-Driven Development, explains Test-Driven Development and the tools that can be used to do it.
Chapter 12, Optimization—General Principle and Profiling Techniques, gives profiling techniques and an optimization strategy guideline.
Chapter 13, Optimization—Solutions, extends Chapter 12 by providing some solutions to speed up your programs.
Chapter 14, Useful Design Patterns, ends the book with a set of design patterns and when to use them.
Approach
This book is an authoritative exploration of Python best practices and applications of agile methodologies to Python, illustrated with practical, real-world examples.
Who this book is written for
This book is for Python developers who are already building applications, but want to build better ones by applying best practices and new development techniques to their projects.
The reader is expected to have a sound background in Python programming.
About the Author
Tarek Ziadé is CTO at Ingeniweb in Paris, working on Python, Zope, and Plone technology and on Quality Assurance. He has been involved for 5 years in the Zope community and has contributed to the Zope code itself.
Tarek has also created Afpy, the French Python User Group and has written two books in French about Python. He has gave numerous talks and tutorials in French and international events like Solutions Linux, Pycon, OSCON, and EuroPython.
| hathaway marc bekoff montserrat guibernau tony walton v a chobotov | m henry k bharatdwaj masten peter tompkins julian rushton |