小小见解之python循环依赖

a.py

from b import b
print '---------this is module a.py----------'
def a():
    print "hello, a"   
    b()

a()

b.py

print '----------this is module b.py----------'

def b():

    print "hello, b"

 

def c():

    print "hello, c"

 

c()

from a import a

运行a.py,结果:

 

分析:

    首先要去b.py中找到b(),而b.py中创建函数后直接就把b给它了,最后b.py又向a.py中要a,因为b.py已经得到想要的了,就答应给a.py想要的。就是说,我要的你先给我了,所以我也给你你想要的

运行b.py,结果:

分析:

    a.py先向b.py要a(),但b不答应,反而要a.py先给b(),a.py不乐意,即使有也不给,谁让你不先满足我的要求。

总结,谁先要的必须给,如果不能被满足,就不答应另一方的要求,有点无理,但也没办法,人是自私的,程序也是自私的,否则一再谦让,说不定会让一个人即使给了东西却什么也得不到。

原文地址:https://www.cnblogs.com/guozw/p/6359939.html