python - pdb - 输出是什么意思?

标签 python pdb

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 中运行。

关于python - pdb - 输出是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16273978/

相关文章:

python - 在 Pelican 静态站点生成器 ATOM 提要中使用绝对 URL

python - 更快地实现 pandas apply 功能

python - 如何在不修改源代码的情况下检查 Winpdb Python 调试器中的返回值?

python - JupyterLab 中的 pdb 未进入交互模式

python - 如何在 CentOS 上启动 redis 服务器并配置 nginx 以运行 mediacrush 脚本?

Python异常处理: Is there a method to know what type of exceptions my code can possibly throw?

python - 返回带字符的字符串 - 其中数字彼此跟随

python - 使用来自终端的参数调试 python 脚本

python pdb lambda函数全局名称错误

python - 使用 pdb 运行时多处理代码失败?