#!/usr/bin/env python class A(object): pass cache = {} def memo(c): if not c in cache: cache[c] = c() return cache[c] a, b = A(), A() print a, b c, d = memo(A), memo(A) print c, d