Eli Holderness
Pointers? In My Python? It's More Likely Than You Think
#1about 2 minutes
Understanding pointers as names for objects in memory
Pointers are names that refer to objects in memory, similar to how multiple names can refer to the same person.
#2about 5 minutes
Solving pointer aliasing with shallow and deep copies
Assignment creates a pointer alias, while the copy method creates a shallow copy and deepcopy creates a fully independent object.
#3about 3 minutes
The unexpected behavior of mutable objects in tuples
Using the `+=` operator on a mutable element within an immutable tuple can modify the element despite raising a TypeError.
#4about 7 minutes
Comparing object identity versus equality in Python
The `is` operator checks for identical object IDs, while the `==` operator checks for equivalence defined by the `__eq__` magic method.
#5about 4 minutes
How Python uses reference counting to free memory
CPython tracks the number of pointers to an object and frees its memory when the reference count drops to zero, which can be observed using the `__del__` method.
#6about 7 minutes
Using the garbage collector for cyclic references
The garbage collector is necessary to detect and clean up cyclic references, where objects point to each other and are unreachable from the namespace.
#7about 4 minutes
How finalizers can create garbage collection edge cases
A `__del__` method can resurrect an object by creating a new global reference, preventing garbage collection until the new reference is removed and collection is run again.
#8about 6 minutes
Q&A on garbage collection performance and common pitfalls
The performance impact of garbage collection depends on the program, and common mistakes include misusing global variables or overriding magic methods without care.
Related jobs
Jobs that call for the skills explored in this talk.
Picnic Technologies B.V.
Amsterdam, Netherlands
Intermediate
Senior
Python
Structured Query Language (SQL)
+1
Matching moments
03:07 MIN
Final advice for developers adapting to AI
WeAreDevelopers LIVE – AI, Freelancing, Keeping Up with Tech and More
04:09 MIN
How Python became the dominant language for AI
AI in the Open and in Browsers - Tarek Ziadé
02:33 MIN
Why you might not need JavaScript for everything
WeAreDevelopers LIVE – You Don’t Need JavaScript, Modern CSS and More
01:15 MIN
Crypto crime, EU regulation, and working while you sleep
Fake or News: Self-Driving Cars on Subscription, Crypto Attacks Rising and Working While You Sleep - Théodore Lefèvre
03:16 MIN
Improving the developer feedback loop with specialized tools
Developer Time Is Valuable - Use the Right Tools - Kilian Valkhof
02:55 MIN
Why developers often undervalue their time and paid tools
Developer Time Is Valuable - Use the Right Tools - Kilian Valkhof
02:49 MIN
Using AI to overcome challenges in systems programming
AI in the Open and in Browsers - Tarek Ziadé
08:07 MIN
Exploring modern JavaScript performance and new CSS features
WeAreDevelopers LIVE – AI, Freelancing, Keeping Up with Tech and More
Featured Partners
Related Videos
Python: Behind the Scenes
Diana Gastrin
CUDA in Python
Andy Terrel
Overview of Machine Learning in Python
Adrian Schmitt
C++ Features You Might Not Know
Jonathan Müller
Accelerating Python on GPUs
Paul Graham
Tips, tricks and quirks in .NET
Paweł Łukaszuk
Concurrency in Python
Fabian Schindler
A beginner’s guide to modern natural language processing
Jodie Burchell
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.


Playrix
Barcelona, Spain
Remote
Intermediate
API
Redis
React
Django
+5



Playrix
Taramundi, Spain
Remote
Intermediate
API
Redis
React
Django
+5



Playrix
Carballedo, Spain
Remote
Intermediate
API
Python
A/B testing
Continuous Integration
