zoukankan      html  css  js  c++  java
  • python 调试

    程序能一次写完并正常运行的概率很小,基本不超过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)来替代:

  • 相关阅读:
    491 · 回文数
    936 · 首字母大写
    1343 · 两字符串和
    1535 · 转换成小写字母
    13 · 字符串查找
    146 · 大小写转换 II
    241 · 转换字符串到整数(容易版)
    46 · 主元素
    kotlin协程——>通道
    kotlin协程——>异步流
  • 原文地址:https://www.cnblogs.com/ghgyj/p/4005671.html
Copyright © 2011-2022 走看看