- Based on latest stable version of Python(version 3.5)
- Creating well manageable code that will run in various environments with different sets of dependencies
- Packed with advanced concepts and best practices to write efficient Python code
Python is a dynamic programming language, used in a wide range of domains by programmers who find it simple, yet powerful. Even if you find writing Python code easy, writing code that is efficient and easy to maintain and reuse is a challenge.
The focus of the book is to familiarize you with common conventions, best practices, useful tools and standards used by python professionals on a daily basis when working with code.
You will begin with knowing new features in Python 3.5 and quick tricks for improving productivity. Next, you will learn advanced and useful python syntax elements bought in this new version. Using advanced object-oriented concepts and mechanisms available in python, you will learn different approaches to implement metaprogramming. You will learn to choose good names, write packages and create standalone exectuables easily.
You will also be using some powerful tools such as buildout and vitualenv to release and deploy the code on remote servers for production use. Moving on, you will learn to effectively create Python extensions with C, C++, cython and pyrex. Important factors while writing code such as code management tools, writing clear documentation and test driven development are also covered.
You will now dive deeper to make your code efficient with general rules of optimization, strategies for finding bottlenecks and selected tools for application optimization
By the end of the book you will be an expert in writing efficient and maintainable code.
What you will learn
- Conventions and best practices that are widely adopted in python community
- Package python code effectively for community and production use
- Easy and lightweight ways to automate code deployment on remote systems
- Improve your code s quality, reliability and performance
- Write concurrent code in python
- Extend python with code written in different languages
Table of Contents
Chapter 1: Current Status of Python
Chapter 2: Syntax Best Practices – below the Class Level
Chapter 3: Syntax Best Practices – above the Class Level
Chapter 4: Choosing Good Names
Chapter 5: Writing a Package
Chapter 6: Deploying Code
Chapter 7: Python Extensions in Other Languages
Chapter 8: Managing Code
Chapter 9: Documenting Your Project
Chapter 10: Test-Driven Development
Chapter 11: Optimization – General Principles and Profiling Techniques
Chapter 12: Optimization – Some Powerful Techniques
Chapter 13: Concurrency
Chapter 14: Useful Design Patterns