2.1 变量

所谓变量(Variable),顾名思义,指在程序运行过程中,值会发生变化的量。与变量相对应的是常量,也就是在程序运行过程中值不会发生变化的量,不同于C/C++等语言,Python并没有严格定义常量这个概念,在Python中约定俗成的方法是使用全大写字母的命名方式来指定常量,如圆周率PI=3.1415926。

变量是存储在内存中的一个值,在创建一个变量后,也就意味着在内存中预留了一部分空间给它。变量用来指向存储在内存中的一个对象,每个对象根据自身情况又可以代表不同的数据类型(Data Type)。我们可以通过变量赋值这个操作将变量指向一个对象,比如下面的a = 10即一个最简单的变量赋值的示例。

在Python中,我们使用等号=来连接变量名和值,进而完成变量赋值的操作。这里将10这个整数(也就是内存中的对象)赋值给变量a,因为10本身是“整数”(Integer),所以变量a此时就代表了“整数”这个数据类型的值。我们可以使用type()函数来确认a的数据类型,发现变量a的数据类型此时为int,也就是integer的缩写,代码如下。

Python是一门动态类型语言,和C、Java等不同,我们无须手动指明变量的数据类型,根据赋值的不同,Python可以随意更改一个变量的数据类型。举例来说,刚才我们把“整数”这个数据类型的值赋值给变量a,现在再次赋值一个内容为test的字符串(String)数据类型的值给变量a,然后用type()函数确认,这时a的数据类型已经从int变为了str,即字符串,代码如下。

变量名可以用大小写英文字母、下画线、数字来表示,但是不能包含标点符号、空格及各类其他特殊符号,如括号、货币符号等。

变量名可以以字母和下画线开头,但是不能以数字开头,举例如下。

这里Python解释器返回了“SyntaxError: invalid syntax”这个无效语法的错误提示,告诉我们123c为无效的变量名。这也是使用解释器来学习Python的优势,无论代码里出现什么问题,都能得到“即时反馈”。

变量名区分大小写,举例如下。

如果变量名中间出现两个或以上的单词,则只能用下画线将它们连接,不可以使用空格将它们隔开,举例如下。

最后,不是所有的英文单词都能用作变量名,Python中有保留字(Reserved Word)的概念。保留字通常是Python中常用的关键词,比如用作创建函数的“def”,用作while循环和for循环的“while”和“for”,等等。可以用下面的方法来查询当前的Python版本中有哪些保留字。

看不懂上面的代码没关系,本书后面会讲到它们的用法。这里只需注意输入print(keyword.kwlist)后的返回值为一个列表,该列表中的元素(列表和元素的概念后文会讲到)即当前Python版本中的保留字,这些保留字均不能用来做变量名,举例如下。