Skip to main content
 首页 » 编程设计

python之pdb之输出是什么意思

2025年05月04日8del

test.py :

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. None 是您函数的返回值。模块是返回的函数,在您的情况下是实际模块。
  2. 第一次出现 ->def fun(): 是定义函数的地方。它被调用的第二个。
  3. 我现在不明白为什么你的模块的签名看起来像这样。这可能是因为您正在调试它并且它在 pdb 中运行。