coverage.py 中的语句是什么?

What is a statement in coverage.py?

来自 http://coverage.readthedocs.io/en/coverage-4.3.4/cmd.html 的覆盖率分析报告由以下人员完成:

$ coverage report -m
Name                      Stmts   Miss  Cover   Missing
-------------------------------------------------------
my_program.py                20      4    80%   33-35, 39
my_module.py                 15      2    86%   8, 12
my_other_module.py           56      6    89%   17-23
-------------------------------------------------------
TOTAL                        91     12    87%

但是,这个工具中的语句 ("Stmts") 是什么?

Stmts 是语句总数。比如第一行,执行了20条,漏掉了4条,覆盖了16条:

16/20 = 0.8 (80%)

与 table 中的 80% 覆盖率匹配。

我意识到语句是代码行数,包括导入、class和函数定义(不包括注释)。