4. 变量和名称
乙醇 创建于 about 7 years 之前
最后更新: less than a minute 之前
阅读数: 222
背景
变量是编程语言中常见的概念。变量实际上很简单,我们可以把它想象成是一个盒子,这个盒子有名字,就是变量名,盒子里面可以放东西进去,就是变量的值。
程序员们一般使用变量让代码变得更加容易理解,因为他们的记忆力很糟糕,所以如果不取一些有意义的变量名的话,他们后来可能就看不懂自己写的代码了。
我们对上一节的内容稍微做一些修改,加入变量的实践。
代码实现
新建名为report_with_var.py
,内容如下
# 打印出本次测试的测试结果
# A: 27/30 B: 40/40 C: 30/30
module_count = 3
case_count_of_module_a = 30.0
success_case_count_of_module_a = 27
case_count_of_module_b = 40.0
success_case_count_of_module_b = 40
case_count_of_module_c = 30.0
success_case_count_of_module_c = 30
print('本次测试覆盖了',module_count ,'个模块')
print('测试用例总数为: ', case_count_of_module_a + case_count_of_module_b + case_count_of_module_c)
print('执行的测试用例总数为: ', case_count_of_module_a + case_count_of_module_b + case_count_of_module_c)
print('用例最多的模块是B模块,B模块比A模块多出的用例数为', case_count_of_module_b - case_count_of_module_a)
print('A模块执行成功', success_case_count_of_module_a, '个用例,执行失败的用例数为', case_count_of_module_a - success_case_count_of_module_a)
print('A模块用例通过率为百分之', success_case_count_of_module_a / case_count_of_module_a * 100)
print('B模块的用例全部执行通过, 通过率为百分之', (success_case_count_of_module_b / case_count_of_module_b) * 100)
print('C模块的用例全部执行通过, 通过率为百分之', (success_case_count_of_module_b / case_count_of_module_b) * 100)
print('B模块的用例比C模块多吗?', case_count_of_module_b > case_count_of_module_c)
print('A模块的用例比C模块多吗?', case_count_of_module_a > case_count_of_module_c)
print('B模块的用例比C模块少吗?', case_count_of_module_b < case_count_of_module_c)
# 结束打印
print('回归不通过')
运行
在命令行中使用下面的命令去执行代码
$python report_with_var.py
你应该可以看到
如果没有出错的话,你应该可以看到命令行窗口显示如下的内容
本次测试覆盖了 3 个模块
测试用例总数为: 100.0
执行的测试用例总数为: 100.0
用例最多的模块是B模块,B模块比A模块多出的用例数为 10.0
A模块执行成功 27 个用例,执行失败的用例数为 3.0
A模块用例通过率为百分之 90.0
B模块的用例全部执行通过, 通过率为百分之 100.0
C模块的用例全部执行通过, 通过率为百分之 100.0
B模块的用例比C模块多吗? True
A模块的用例比C模块多吗? False
B模块的用例比C模块少吗? False
回归不通过
动手时间
刚开始写代码的时候,我们经常会敲错,比如
本次测试覆盖了 3 个模块
Traceback (most recent call last):
File "report_with_var.py", line 15, in <module>
print('测试用例总数为: ', case_count_of_moudle_a + case_count_of_module_b + case_count_of_module_c)
NameError: name 'case_count_of_moudle_a' is not defined
这是因为变量case_count_of_moudle_a
没有定义,我们定义的变量名是case_count_of_module_a
,究其原因,是我们敲代码的时候手误,把module拼错了。
case_count_of_module_a
的值我们定义的是30.0,想一想这是为什么?如果我们定义成30会出现什么情况?- 注意30.0是浮点型数字,也就是带小数点的,在做除法时,浮点数除法的结果也是浮点数
=
号的作用是赋值,就是把等号右边的值付给左边的变量,相当于是把等号右边的值塞到变量代表的箱子里去_
是下划线,可以分隔变量名中的各个单词
常见问题
为什么你在等号两边都加上了空格?比如写成
a = 100
而不是a=100
。前者更容易阅读一点,所以推荐前一种写法。