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
<module>
是什么意思和->None
引用?- 似乎
fun()
花了两个n
完成。fun()
是一个单一的声明,不应该n
一次一个陈述?为什么fun()
拿两个n
? - 我真的不知道
--Return-- > <string>(1)<module>()->None
的意思.没有一个字或一个符号。
最佳答案
- None 是您函数的返回值。模块是返回的函数,在您的情况下是实际模块。
- 第一次出现
->def fun():
是定义函数的地方。它被调用的第二个。 - 我现在不明白为什么你的模块的签名看起来像这样。这可能是因为您正在调试它并且它在 pdb 中运行。
关于python - pdb - 输出是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16273978/