Skip to main content

3. Reference Counting

Python primarily uses reference counting to manage memory.


Example

import sys

x = []
print(sys.getrefcount(x)) # includes temporary reference in getrefcount
y = x
print(sys.getrefcount(x))

Issues

  • Cyclic references cannot be collected by reference counting alone.
  • Garbage collector is needed to handle cycles.

Wrap-Up

Reference counting is simple but insufficient for cycles, which is why Python also uses garbage collection.