2013-04-29 101 views
2

test.pypdb - 輸出是什麼意思?

def fun(): 
    print 'Function' 

if __name__ == '__main__': 
    fun() 

$ python -m pdb test.py

> /home/h/CARDIO/WorkSpace/PDB/test.py(4)<module>() 
-> def fun(): 
(Pdb) n 
> /home/h/CARDIO/WorkSpace/PDB/test.py(7)<module>() 
-> if __name__ == '__main__': 
(Pdb) n 
> /home/h/CARDIO/WorkSpace/PDB/test.py(8)<module>() 
-> fun() 
(Pdb) n 
Function 
--Return-- 
> /home/h/CARDIO/WorkSpace/PDB/test.py(8)<module>()->None 
-> fun() 
(Pdb) n 
--Return-- 
> <string>(1)<module>()->None 
(Pdb) n 
The program finished and will be restarted 
  1. 什麼是<module>->None指什麼?
  2. 看來fun()花了兩個n完成。 fun()是單個語句,不應該是n一次一個語句?爲什麼fun()需要兩個n
  3. 我真的不知道--Return-- > <string>(1)<module>()->None的含義。沒有一個單詞或符號。

回答

1
  1. 無是您的函數的返回值。模塊是返回的功能,你的情況是實際的模塊。
  2. 第一次出現->def fun():是函數被定義的地方。第二個叫它。
  3. 我現在不是爲什麼你的模塊的簽名看起來像這樣。這可能是因爲你正在調試它,它在pdb中運行。