4. Reading CPython C Code
4. Reading CPython C Code Reading CPython C code requires two mental models at the same time. The first model is ordinary C: structs, pointers, macros, function pointers, reference ownership, allocation, error returns, and conditional compilation. The second model is Python’s runtime model: objects, types, frames, exceptions, reference counts, descriptors, iterators, modules, and bytecode. Most CPython source files combine both. A line of C code may look like ordinary pointer...