码迷,mamicode.com
首页 > 编程语言 > 详细

python 调试

时间:2014-10-04 13:00:06      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   os   sp   div   问题   c   

程序能一次写完并正常运行的概率很小,基本不超过1%。总会有各种各样的bug需要修正。有的bug很简单,看看错误信息就知道,有的bug很复杂,我们需要知道出错时,哪些变量的值是正确的,哪些变量的值是错误的,因此,需要一整套调试程序的手段来修复bug。

第一种方法简单直接粗暴有效,就是用print把可能有问题的变量打印出来看看:

# err.py
def foo(s):
    n = int(s)
    print >>> n = %d %n
    return 10 / n

def main():
    foo(0)

main()

执行后在输出中查找打印的变量值:

$ python err.py
>>> n = 0
Traceback (most recent call last):
  ...
ZeroDivisionError: integer division or modulo by zero

print最大的坏处是将来还得删掉它,想想程序里到处都是print,运行结果也会包含很多垃圾信息。所以,我们又有第二种方法。

断言

凡是用print来辅助查看的地方,都可以用断言(assert)来替代:

 

python 调试

标签:style   blog   color   io   os   sp   div   问题   c   

原文地址:http://www.cnblogs.com/ghgyj/p/4005671.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!