I am working on a project where I have three python modules (a.py, b.py and c.py).
Module a is calling module b, module b is calling module c, and module c is calling module a. But the behaviour is very bizzare when it runs.
Here are my three modules:
a.py
print('module a')
def a() : 
    print('inside a')
    return True
import b
b.b()
b.py
print('module b')
def b() : 
    print('inside b')
    return True
import c
c.c()
c.py
print('module c')
def c() : 
    print('inside c')
    return True
import a
a.a()
When I run a.py, the output observed is : 
module a
module b
module c
module a
inside b
inside a
inside c
inside b
Whereas the expected behavior is:
module a
module b
module c
module a
inside b
Why does this happen? Is there an alternative way for such an implementation?
 
     
     
    