下面是一小组人某次数学考试的成绩:
李 明 89
黄进善 95
梁小丽 84
张文菲 93
陈 光 74
用Python编程计算他们比平均分高多少分(低于平均分是负值)。
通过我们学过的Python知识,容易得到下面的代码:
运行结果:
不难发现,程序中计算了五次平均分。能不能只算一次平均分,然后五次都使用这个值呢?
我们自然想到“代数”,代数是用字母代替数,用代数去修改上面的程序看看结果如何。
使用代数的代码:
运行结果:
在数学的代数题里,往往题目使用代数(字母或字母组合),最后给出这些代数的具体值。我们也把平均分的代数放在最后看看如何。
代码:
运行结果:
可见,为了能重复使用某个值,可以用代数的方法,不过代数要在使用之前赋值。
我们知道程序中的平均分计算后放在内存的某个位置,只要知道这个内存地址,并把它锁定而阻止系统回收,那么就可以重复读取这个地址的内容。内存地址是一个整数,并且每次运行都不一样,为了解决这个问题,Python给这种被锁定的内存地址加上标签(这个标签来源于源代码),就是我们所谓的“变量”了。
C++或Java等编程语言在使用变量前要声明变量的数据类型,例如:int a,就是声明a是一个整数的变量。Python没有声明变量数据类型的语法,变量数据类型由变量的值决定。变量之所以被定义,是因为首次赋值语句的执行,变量的数据类型因被赋的值而得,如下图所示。
由于Python在使用变量(赋值)之前无需声明变量的数据类型,从严格意义上来讲,Python并没有变量,它只是实际内存地址的一个文本标签(名字)。不过,由于这个内存地址关联了这个文本标签而被锁定,阻止了系统回收。
例题1:
变量还有下面两个重要的特点:
第一、变量的值是可以被改变的,即可以重新赋值。根据Python的特点,重新赋值实际是绑定新内存地址,旧内存地址因此被解绑,如果没有别的绑定了,该内存会被系统回收。
第二、变量被赋值后是可以参加计算的。由于Python只有首次赋值才能生成变量,也即是说变量都可以参加运算。
课堂练习:
例题2:
课堂测验:
课后练习: