2013-04-29 126 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中运行。