Serious Python

Aleksandr Shitik
Aleksandr Shitik

I write my own posts and books, and review movies and books. Expert in cosmology and astronomy, IT, productivity, and planning.

Serious Python
Julien Danjou
Genres: Programming
Year of publication: 2020
Year of reading: 2022
My rating: Normal
Number of reads: 1
Total pages: 258
Summary (pages): 6
Original language of publication: English
Translations to other languages: Russian, Portuguese, Chinese

Overall Description

The book contains 258 pages, comprised of 13 chapters. In addition to text, the material includes code snippets. There are only a few images and other graphic material. At the end of each chapter, a summary of the current topic is provided. The book reads easily, and its level can hardly be called even intermediate.

Brief Description

Chapter 1. Project Kick‑off

The author demonstrates how to properly launch a new Python project: selecting the structure, using virtual environments, managing dependencies, and preparing the foundation for scaling.

Chapter 2. Modules, Libraries, and Frameworks

The differences between modules, libraries, and frameworks are explained, as well as how to effectively use and create your own packages while avoiding dependency chaos.

Chapter 3. Documentation and Good API Practices

Principles of writing clear and useful documentation, docstrings, and README files are covered, along with creating intuitive APIs that are easy to use and maintain.

Chapter 4. Working with Timestamps and Timezones

This chapter is devoted to proper time handling: the distinction between datetime, time, dateutil, timezone processing, and avoiding common pitfalls with UTC.

Chapter 5. Software Distribution

The author describes how to package and distribute Python applications: creating packages, publishing to PyPI, versioning, and managing dependencies via setuptools.

Chapter 6. Modular Testing

Testing tools and approaches are reviewed—from unittest and pytest to mocks and fixtures—and the importance of code coverage for confidence in stability is highlighted.

Chapter 7. Methods and Decorators

How functions, methods, and decorators work is explained, why @classmethod, @staticmethod, and custom decorators are useful for reusing logic.

Chapter 8. Functional Programming

The author shows how to use Python’s functional features—map, filter, reduce, generators, closures, and lambdas—for concise and expressive code.

Chapter 9. Abstract Syntax Trees, Null Dialect, and Lisp‑style Attributes

A deep dive into Python’s internals: AST, metaprogramming, and the possibilities for dynamically changing code behavior at runtime.

Chapter 10. Performance and Optimization

Profiling tools, ways to speed up code, using data structures, optimizing loops, and memory management are examined.

Chapter 11. Scaling and Architecture

The author discusses how to design large systems: principles of modularity, dependency management, separation of concerns, and horizontal scaling.

Chapter 12. Managing Relational Databases

Tools for DB interaction are described: sqlite3, SQLAlchemy, ORM, transactions, and best practices for working with data in Python applications.

Chapter 13. Write Less, Code More

The final chapter on the philosophy of the Python developer: how to write less code, avoid duplication, use ready solutions, and think more abstractly.

Opinion

Another Python book, no worse or better than the others.

Вверх