跳转至

调试

doctest

doctest 可以快速为代码编写测试。

def square(x):
    """
    >>> square(2)
    4
    >>> square(3)
    9
    """
    return x * x

要运行doctest,输入:python3 -m doctest file.py

命令行工具有一个 -v 选项,代表详细(verbose)。

python3 -m doctest file.py -v 除了告诉您哪些文档测试失败之外,还会告诉您哪些文档测试通过了。

交互式调试

通过交互方式使用 Python:python3 -i file.py

断言语句

断言语句用于在程序中插入检查点,以确保某个条件为真。如果条件为假,程序会抛出一个AssertionError异常。例如:

assert 2 > 3, "This is wrong!"  # 抛出异常 AssertionError: This is wrong!

报错

Traceback 中,最下面那一行对应“最近发生的那次调用/出错点”,也就是真正抛出异常的位置。上面的几行是在展示程序是怎么一路调用到这里的(调用链)。