def foo ():
print 'runing foo'
bar () def bar ():
print 'runing bar'
foo () bar()
直接上脚本,上面的脚本如果换成C语言代码的话,foo函数前面肯定是要加一个bar函数的声明的,但是在Python中不需要,因为foo函数在未被调用前,不会判断bar函数是否合法,等到bar函数被调用的时候,bar函数已经被声明了,所以能找到。
因此Python也是支持循环调用的,A call B, B call A。运行后的效果就是把线程栈顶死了。代码运行效果: