Python程序设计实例教程(第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.1.1 常量与变量

所谓常量,是指不能改变的字面值,例如,一个数字3.0j,一个字符串"Hello world.",一个元组(4,5,6),都是常量。变量一般是指值可以变化的量。在Python中,不仅变量的值是可以变化的,变量的类型也是随时可以发生改变的。另外,在Python中,不需要事先声明变量名及其类型,赋值语句可以直接创建任意类型的变量。例如,下面第一条语句创建了整型变量x,并赋值为5。

下面的语句创建了字符串变量x,并赋值为'Hello world.',之前的整型变量x不复存在。

下面的语句又创建了列表对象x,并赋值为[1,2,3],之前的字符串变量x也就不再存在了。

赋值语句的执行过程是:首先把等号右侧表达式的值计算出来,然后在内存中寻找一个位置把值存储进去,最后创建变量并引用这个内存地址。

也就是说,Python变量并不直接存储值,而是存储值的内存地址或者引用,这也是变量类型随时可以改变的原因。

另外需要注意的是,虽然不需要在使用之前显式地声明变量及其类型,并且变量类型随时可以发生变化,但Python是一种不折不扣的强类型编程语言,Python解释器会根据赋值运算符/分隔符右侧表达式的值来自动推断变量类型,每个变量在任何时刻都属于确定的类型。

在Python中定义变量名的时候,需要遵守下面的规范。

•变量名必须以字母、汉字或下画线开头。

•变量名中不能有空格或标点符号。

•不能使用关键字作变量名,如if、else、for、return这样的变量名都是非法的。

•变量名对英文字母的大小写敏感,如student和Student是不同的变量。

•不建议使用系统内置的模块名、类型名或函数名,以及已导入的模块名及其成员名作变量名,如id、max、len、list、math、random这样的变量名都是不建议使用的。