49-调试器(2)
调试debug
- print,
- assert
- logging :通过设置level,同一个语句输出不同级别的debug信息。
而且,一条语句可以同时输出到不同地方
- pdb以及pdb.set_trace()
- IDE
- 廖雪峰的心得:其实logging才是真正的王道,以后通过实践看看是否真的如此
assert
def foo(s):
n = int(s)
assert n != 0, 'n is zero!' #如果真的发生了n==0,就打印后面那个字符串
return 10 / n
def main():
foo('0')
main()
logging
import logging
logging.basicConfig(level=logging.INFO) #设置logging的levle:
s = '0'
n = int(s)
logging.info('n = %d' % n)
print(10 / n)
#pdb
s = '0'
n = int(s)
print(10 / n)
#到控制台,先切换至当前目录下,
#python -m pdb test_9.py
#输入
pdb的加强版:
import pdb
s = '0'
n = int(s)
pdb.set_trace() # 运行到这里会自动暂停,然后在控制台输入命令:{p xxx:查看变量,c:继续运行}
print(10 / n)

浙公网安备 33010602011771号