Please rate the book
Like, how dictionaries are so much faster than looping over a list to find an item… How does a generator remember the state of the variables each time it yields a value—and why do you never have to allocate memory like in other languages?
It turns out, CPython, the most popular Python runtime is written in human-readable C and Python code…
The CPython interpreter abstracts away the complexities of the underlying C platform and your operating system.
It makes threading cross-platform and straightforward.
It takes the pain of memory management in C and makes it simple.
In short, CPython gives you the platform to write scalable and performant applications using the comfortable and powerful syntax of Python…
However, these abstractions aren’t perfect, and they’re often leaky:
That’s why at some stage in your progression as a Python developer, you can benefit greatly from understanding how CPython works internally.
By “peeking behind the scenes” of the Python runtime, you’ll deepen your skills and become a true Pythonista…
You’ll get one step closer to truly mastering Python, enabling you to write beautiful & idiomatic code that’s also fast and efficient.
Once you see how Python works at the interpreter level, you can optimize your applications and fully leverage the power of Python
Few developers take the time to understand their tools at such a deep level—it’s a surefire way to impress colleagues and interviewers alike.
This book explains the concepts, ideas, and technicalities of CPython in an approachable and hands-on fashion:
Goals — By the End of the Book You’ll Be Able To:
Read and navigate the CPython 3.9 interpreter source code. You’ll deeply comprehend and appreciate the inner workings of concepts like lists, dictionaries, and generators.
Make changes to the Python syntax and compile your own version of CPython, from scratch. You’ll customize the Python core data types with new functionality and run CPython’s automated test suite.
Master CPython’s memory management capabilities and scale your Python code with parallelism and concurrency.
Debug C and Python code like a true professional. Profile and benchmark the performance of your Python code and the runtime.
Participate in the development of CPython and know how to contribute to future versions of the Python interpreter and standard library. How great would it feel to give back to the community as a “Python Core Developer?”