In Python, two variables equal to 256 share the same object, but two variables equal to 512 don’t. The reason is Python’s object model. In this chapter, we cover identity, type, and value; how assignment and name binding actually work; the small-integer cache; and why mutating a list changes both aliases while reassigning a string doesn’t.
Validation tells you if data is okay. Parsing turns it into a type the rest of your code can trust. Here’s how to parse Python code across OOP, ECS, and microservices.
Even 100% test coverage can give you a false sense of confidence. Unit tests, coverage, mutation testing, property-based testing, and more. Here’s how to test Python code properly.
Type hints are metadata that Python records but doesn’t enforce. Static type checkers read that metadata and catch bugs before your code runs. Here’s why that matters.
Production-grade Python, coding with AI, and other things on my mind.