WeAreDevelopers LIVE Mar 2, 2022

Pointers? In My Python? It's More Likely Than You Think

Eli Holderness

Think Python shields you from pointers? Discover how hidden references cause cyclic memory leaks, why tuples can mutate, and how CPython's garbage collector actually works.

Pause
Mute Enter Fullscreen
#1 about 2 min

Understanding pointers and namespaces in Python

Variables in Python act as pointers mapping namespace references to objects stored in memory.

#2 about 2 min

The mechanics of pointer aliasing with lists

Assigning a new variable to an existing list creates a pointer alias instead of a separate object.

#3 about 4 min

Cloning mutable objects using copy and deepcopy methods

Standard copying and deep copying mechanisms safely duplicate complex mutable structures to avoid unintended aliasing.

#4 about 3 min

Understanding immutable structures and tuple assignment behaviors

In-place augmentation operators act unpredictably when mutating lists embedded within immutable tuple structures.

#5 about 3 min

Identifying objects using memory addresses and identifiers

The built-in identification function tracks an object's unique memory address throughout its lifespan.

#6 about 5 min

Comparing object equality with value and identity operators

Memory identity comparisons using the identity operator differ from value equivalence calculations handled by magic methods.

#7 about 2 min

Managing memory allocation through reference counting

Python frees system memory automatically by tracking references and deallocating unreachable components.

#8 about 3 min

Analyzing memory deallocation using the __del__ method

Custom finalizers execute specialized cleanup logic just before unreferenced objects are removed from system memory.

#9 about 4 min

Identifying memory leaks caused by cyclic isolates

Objects referencing each other create closed reference loops that successfully bypass standard deallocation processes.

#10 about 3 min

Resolving cyclic references via the garbage collector

The built-in garbage collection module detects and forcibly breaks isolated reference cycles to free memory.

#11 about 5 min

De-isolating memory cycles during garbage collection operations

Improperly defining global variables inside finalizer methods prevents the automated collector from completely clearing cyclic memory.

#12 about 6 min

Addressing garbage collection performance impacts and scope pitfalls

Balancing garbage collection frequency against object creation rates optimizes memory performance and prevents unintended scoping behaviors.

Matching moments

1:56 min

Evaluating object memory references and namespace resolution

Oliver Bestwalter · LIVE

1:43 min

Garbage collection behavior with global lexical scopes

Alex Gorbunov Alex Gorbunov · Europe 2026 Virtual

4:38 min

Exploring the inherent mutability of Python built-in attributes

Oliver Bestwalter · LIVE

3:50 min

Python data abstraction and foundational object attributes

Diana Gastrin · World Congress 2023

4:23 min

Optimizing memory layout by replacing pointers with primitives

Ivan Sinitsin Ivan Sinitsin · Europe 2026 Virtual

3:04 min

Exploring early programming foundations and structural boundaries

Jaroslaw Kutylowski Jaroslaw Kutylowski +1 · World Congress 2023

Upcoming sessions on this topic

Open session

World Congress 2026 North America

September 24, 2026 · 10:20–10:50

Stage 5

Vector, Graph, or Key Value? Choosing Your Agent's Memory

Elizabeth Fuentes Leone

AWS - Developer Advocate/SDE, GenAI

Elizabeth Fuentes Leone
Open session

World Congress 2026 North America

September 24, 2026 · 16:10–16:40

Outdoor Stage

When Humans Stop Writing Code: Rethinking Languages, Compilers, and Responsibility

Simon Auer

Organizer of flutter vienna meetup and CEO of marqably

Simon Auer
Open session

World Congress 2026 North America

September 25, 2026 · 16:10–16:40

Stage 3

Building World-Aware Robots with Agent Memory and Context Graphs

Zaid Zaim

Developer Advocate EMEA at Neo4j | Microsoft AI MVP

Zaid Zaim
Open session

World Congress 2026 North America

September 25, 2026 · 11:40–12:10

Stage 9

You Can’t Re-Run Sunlight: Designing ML Data Architectures for Physical AI

An Phan

Senior Data Infrastructure Engineer @ Hippo Harvest

An Phan
Open session

World Congress 2026 North America

September 25, 2026 · 11:00–11:30

Outdoor Stage

Loop Engineering: Designing and Observing the Loops That Run Your Agents With Opik

Abigail Morgan

AI Developer Advocate at Comet

Abigail Morgan
Open session

World Congress 2026 North America

September 25, 2026 · 12:20–12:50

Stage 9

Designing APIs That Survive AI Agents at Scale

Phani Pendurthi

Mastercard, Principal Software Engineer

Phani Pendurthi