Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python mutually dependent classes (circular dependencies)

I've searched a lot, but what I find is mainly examples of recursive programming in python. So here goes the question:

How can I achieve this?

class A:
    b = B()

class B:
    a = A()
like image 579
francescortiz Avatar asked Jun 19 '11 13:06

francescortiz


1 Answers

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!

like image 152
Steve Mayne Avatar answered Sep 29 '22 10:09

Steve Mayne