Skip to content

Professional Python Programming

What really separates world-class performers from everybody else is deliberate practice. - Geoff Covin

Nobody can learn swimming or playing tennis only from books. A good book is about what to practice and how to practice.

Why Another Python Book?

Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. - Rick Cook

This is an introductory Python programming book for knowledge workers who are professional data analysts or application developers. Unlike most existing Python programming books, it teaches Python programming in a professional way. Here the word "professional" means the Pythonic way of programming bigger and better idiot-proof applications. Knowledge workers learn Python programming to solve non-trivial real world problems. The book teaches essential programming concepts and skills to effectively write professional programs that are correct, easy to maintain, easy to test and has reasonable performance.

Features

In addition to the basic Python programming concepts in Part I, it covers the following topics that are important for a professional programmer:

  • best programming practices such as naming, design, documentation, same level abstraction, small functions, separation of concerns, and continues refactoring.
  • Python data model.
  • advanced but important Python constructs such as property, decorator, descriptor, and metaclass.
  • type hints.
  • test driven development.
  • application tracing.
  • Python performance issues and tradeoffs.

Acknowledgements

This online book is made with the fantastic Material for MkDocs.