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不乐意,即使有也不给,谁让你不先满足我的要求。
总结,谁先要的必须给,如果不给,就不答应另一方的要求,有点无理,但也没办法,人是自私的,程序也是自私的,否则一再谦让,说不定会让一个人即使给了东西却什么也得不到。
今天对python的循环依赖想了好久,这只是此时的想法,可能不太准确甚至是错误的,但我根据程序结果暂时只能这样理解,待以后有了新的见解再来补充。欢迎有识之人给予纠正。
时间: 2024-10-25 10:20:13