1 def foo (): 2 print 'runing foo' 3 bar () 4 5 def bar (): 6 print 'runing bar' 7 foo () 8 9 bar()
直接上腳本,上面的腳本若是換成C語言代碼的話,foo函數前面確定是要加一個bar函數的聲明的,可是在Python中不須要,由於foo函數在未被調用前,不會判斷bar函數是否合法,等到bar函數被調用的時候,bar函數已經被聲明瞭,因此能找到。函數
所以Python也是支持循環調用的,A call B, B call A。運行後的效果就是把線程棧頂死了。代碼運行效果:spa