7.10 性能评测
一些 python使用者对于同一问题的不同解决办法的性能很感兴趣。Python提供了一种评测工具就可以马上
回答这些问题。
例如, 当封装参数的时候可以用元组封装和拆封特性来代替传统的方法。Timeit 模块中可以迅速描述一个
性能优势。
>>> from timeit import Timer
>>> Timer(’t=a; a=b; b=t’, ’a=1; b=2’).timeit()
0.57535828626024577
>>> Timer(’a,b = b,a’, ’a=1; b=2’).timeit()
0.54962537085770791
与 timeit 的细粒度相比,profile 和 pstate 模块提供了在大代码块中识别时间临界区的工具。
7.11 质量控制
开发高质量的软件的方法之一就是对每个功能写测试用例。在开发过程中频繁地运行这些用
例。
Doctest 模块提供一个扫描模块和验证嵌套在程序文档字符中的测试。测试编制是简单
的把一个典型的调用及它的结果剪切并粘贴到文档字符串里。这通过为用户提供一个实例改
善了文档,并且它允许 doctext 模块确认代码和文档相符。
Unittest 模块不像 doctest 模块那么容易使用。但是,它允许一个更加复杂的测试来维护
分开文件。
1