49-调试器(2)

调试debug

  1. print,
  2. assert
  3. logging :通过设置level,同一个语句输出不同级别的debug信息。

而且,一条语句可以同时输出到不同地方

  1. pdb以及pdb.set_trace()
  2. IDE
  3. 廖雪峰的心得:其实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)

posted @ 2018-03-04 14:20  hzhang_NJU  阅读(137)  评论(0)    收藏  举报