🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### 2.1.1 常量与变量 在程序中如何指明要处理的数据?所有编程语言都提供两种指明数据的方式:第一,直接用字面值(literal)表示数据,即从文本字面上即可看出是什么数据,这种数据是不会改 变的常量;第二,将数据存储在一个变量中,以后用该变量来指代数据。 回顾第 1 章中我们所写的第一个程序: ``` >>> print "Hello World!" ``` 其中"Hello World!"就是以字面值的形式指明 print 命令要操作的数据。我们也可以这 样做: ``` >>> s = "Hello World!" >>> print s Hello World! ``` 这里先将数据"Hello World!"存储在变量 s 当中,然后通过引用 s 来指明 print 要操 作的数据。 又如,3.1416 也是字面值,看到这串文本就知道它表示一个数值。我们可以直接处理 这个字面值,也可以将它存储在变量中并通过引用变量来指代此数值。 ``` >>> print 3.1416 3.1416 >>> p = 3.1416 >>> print p 3.1416 ``` 字面值的意义是不可改变的,而变量的意义(即变量存储的值)是可以改变的。例如, 我们接着上面的语句继续操作数据 p: ``` >>> p = 2.71828 >>> print p 2.71828 ``` 这里我们将变量 p 的值改成了 2.71828,因此 p 所表示的数据被改变了。 在程序中直接使用字面值通常不是好的做法,因为这会导致程序缺乏一般性,即只适用 于特定计算。如果要将程序应用于其他数据的计算,则必须修改程序中的字面值,这是很不 方便的。显然,使用变量可以使程序具有一般性,因为只要为变量赋予不同的值,程序就可 以对不同数据进行处理。 变量只是一个“占位符”,必须用具体数据赋值后才有意义。正如我们已经多次见到的, 赋值语句的语法形式是: ``` <变量> = <表达式> ``` 其中等号表示赋值,等号左边是一个变量,右边是一个表达式(由常量、变量和运算符构成)。 Python 首先对表达式进行求值,然后将结果存储到变量中。如果表达式无法求值,则赋值 语句出错。一个变量如果未赋值,则称该变量是“未定义的”。在程序中使用未定义的变量 会导致错误。例如: ``` >>> print q Traceback (most recent call last): File "<pyshell#21>", line 1, in <module> print q NameError: name 'q' is not defined ``` 并行赋值 与许多编程语言不同,Python 语言允许同时对多个变量赋值,例如: ``` >>> x,y = 1,2 >>> x 1 >>> y 2 ``` 这种形式的赋值语句使得交换两个变量的值的任务变得轻而易举: ``` >>> x,y = y,x >>> x 2 >>> y 1 ``` 而在其他编程语言中为了交换两个变量 x 和 y 的值,必须借助于一个临时变量,执行三 条赋值语句: ``` temp = x x = y y = temp ```