调试debug
- print, {到处都是print(),影响阅读}
- assert {和print差不多,但是可以在控制台写 python -O 关闭assert}
- logging :通过设置level,同一个语句输出不同级别的debug信息。
#而且,一条语句可以同时输出到不同地方
- pdb以及pdb.set_trace()
- IDE{比如PyCharm}
- 廖雪峰的心得:其实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: {debug,info,warning,error}
# 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
# #输入 {命令1:查看代码,n:单步到下一步,p xxx :查看变量,q:结束debug}
#pdb的加强版:
import pdb
s = '0'
n = int(s)
pdb.set_trace() # 运行到这里会自动暂停,然后在控制台输入命令:{p xxx:查看变量,c:继续运行}
print(10 / n)