Python mutually dependent classes (circular dependencies)

Everything is dynamic in Python – even the class declarations. There’s nothing to stop you modifying the contents of a class after the initial declaration:

class A:
    pass

class B:
    a = A()

A.b = B()

NB: If you’re not that familiar with Python, the pass keyword simply allows you to say ‘nothing here’ – it’s not important unless class A is as empty as it is in this example!

Leave a Comment