调试
1、使用正常的 print()进行输出:
# printTest.py
def foo(s):
n = int(s)
print('>>> n = %d' % n)
return 10 / n
def main():
foo('0')
main()
(venv) E:\pyplace\learn_python3\learn\two\调试>python printTest.py
>>> n = 0
Traceback (most recent call last):
File "printTest.py", line 9, in
...
ZeroDivisionError: division by zero
用 print() 不好的地方就是,程序中到处都是 print(),运行结果也包含很多垃圾信息
2、使用断言:
# assert.py
def foo(s):
n = int(s)
assert n != 0, 'n is zero!'
return 10 / n
def main():
foo('0')
main()
E:\py\venv\Scripts\python.exe E:/pyplace/learn_python3/learn/two/调试/assert.py
Traceback (most recent call last):
...
assert n !