本文共 1334 字,大约阅读时间需要 4 分钟。
print()把可能有问题的变量打印出来,简单又粗暴。
凡是用print()来辅助查看的地方,都可以用断言(assert)来替代。
示例
#!/usr/bin/env python3# -*- coding: utf-8 -*-# 断言def fun(): n = int(input()) # 表达式n != 0应该是True,否则,根据程序运行的逻辑,后面的代码肯定会出错 assert n != 0, "n is zero" print ("you input is ", n)# 运行方法def runTest(): fun()# 运行runTest()
假如输入 0,会收获下面的报错
表达式n != 0应该是True,否则,根据程序运行的逻辑,后面的代码肯定会出错
D:\PythonProject>python main.py0Traceback (most recent call last): File "main.py", line 16, inrunTest() File "main.py", line 13, in runTest fun() File "main.py", line 7, in fun assert n != 0, "n is zero"AssertionError: n is zero
把print()替换为logging是第3种方式,和assert比,logging不会抛出错误,而且可以输出到文件.
这个方法,吊吊的,终于有点兴趣了
示例
#!/usr/bin/env python3# -*- coding: utf-8 -*-# loggingimport logging# 这里可以指定日志级别debug,info,warning,error等几个级别logging.basicConfig(level=logging.INFO)logging.info("Hello world")logging.info(10 / 0)
运行结果
D:\PythonProject>python main.pyINFO:root:Hello worldTraceback (most recent call last): File "main.py", line 9, inlogging.info(10 / 0)ZeroDivisionError: division by zero
启动Python的调试器pdb,让程序以单步方式运行,可以随时查看运行状态。
python -m pdb xxx.py
命令 n 进入下一行
最好使用IDE工具调试方便一些
如果要比较爽地设置断点、单步执行,就需要一个支持调试功能的IDE。目前比较好的Python IDE有:
Visual Studio Code:,需要安装Python插件。 PyCharm: 另外,Eclipse加上pydev插件也可以调试Python程序。转载地址:http://xvcti.baihongyu.com/