Python Under the Hood
Published by Pearson
Up your programming game by learning how Python works
- Demystify core Python features that might seem like “magic”
- Move to the next level in your Python programming
- Spend less time guessing at how to debug problems through a better understanding of the language
Python is a deceptively simple-looking language that prides itself on being easy to learn and understand. But the simple syntax can actually hinder a deeper understanding of the language because many features seem “hidden” for the sake of cleanliness.
In this intermediate Python course, the main goal is to give you a better understanding of how the Python language works behind the scenes so that you are able to more competently write code and get past the roadblocks that are limiting your programming progress. It will include code samples and some in-class debugging examples.
What you’ll learn and how you can apply it
By the end of the live online course, you’ll understand:
- That everything in Python is an object and what that means for you
- How Python uses “dunder” methods to support operation overloading
- The built-in functions and variables that can help with debugging
And you’ll be able to:
- Use “dunder” methods to create custom classes that make use of existing Python operators
- Inspect any Python object and extract information from it
- Use a debugger to increase your coding efficiency
This live event is for you because...
- You have been programming in Python for a while and want to progress further
- You want to get better at understanding Python code that you haven’t written
- Your Python development involves a lot of trial and error, googling, and print statements
Prerequisites
- Comfortable with Python 3 basics like looping, functions, lists, dictionaries, and f-strings
- Some exposure to Python classes and more intermediate topics
- Comfort with an IDE like PyCharm or VSCode
Course Set-up
Follow the set-up instructions in GitHub. You will need:
- Python 3.8+ installed. The instructor will use Python 3.12.
- An IDE that can run multiple .py files. The instructor will use PyCharm Community Edition.
- The course material https://github.com/ariannedee/python-under-the-hood downloaded
- The package dependencies installed: $ pip install -r requirements.txt
Recommended Preparation
- Watch: Introduction to Python by Arianne Dee
- Watch: Next Level Python by Arianne Dee
- Attend: Object-Oriented Programming in Python by Arianne Dee
Recommended Follow-up
- Read: Fluent Python, 2nd Edition, by Luciano Ramalho
- Read: Python in a Nutshell, 3rd Edition, by Alex Martelli, Anna Ravenscroft, and Steve Holden
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Segment 1: Under the Hood (90 minutes)
- Course setup
- CPython overview
- Garbage collection
- Namespaces and scope
Q&A
Break (15 minutes)
Segment 2: Everything Is an Object (90 minutes)
- Id, equality, and containers
- Useful functions for inspecting objects
- Using debuggers and IDE features
Q&A
Break (15 minutes)
Segment 3: Useful Dunders (85 minutes)
- The Python Data model
- Dunder variables
- Emulating numbers and collections with dunder methods
- Intro to metaprogramming
Course wrap-up and next steps (5 minutes)
Your Instructor
Arianne Dee
Arianne Dee is a software developer and educator, who strives to make complex concepts accessible and engaging. She has taught thousands of learners in-person and online, including on O'Reilly.com, where her video courses and live-trainings help people deepen their understanding of Python. She has degrees in Civil Engineering and Computer Science, along with a decade of experience building user-focused web applications for the public good.