Python 基础教程(3rd ed)(7):快速上手:基础知识 1.6

阅读数:52 2019 年 10 月 23 日 05:29

Python基础教程(3rd ed)(7):快速上手:基础知识 1.6

(语句)

前面使用的几乎都是表达式,相当于菜谱中的原料,但语句(菜谱中的操作说明)是什么样的呢?

实际上,刚才说的不完全正确,因为前面已经介绍过两种语句了:print语句和赋值语句。语句和表达式有何不同呢?你可以这样想:表达式一些东西,而语句一些事情。例如,2 * 2的结果4,而print(2 * 2)打印4。表达式和语句的行为很像,因此它们之间的界线可能并非那么明确。

复制代码
>>> 2 * 2
4
>>> print(2 * 2)
4

在交互式解释器中执行时,这两段代码的结果没有任何差别,但这是因为解释器总是将表达式的值打印出来(打印的是repr表示的内容,详情请参阅 1.10.3 节)。然而,在 Python 中,情况并非都是这样的。本章后面将介绍如何创建无需交互式解释器就能运行的程序。仅将诸如2 * 2等表达式放在程序中不会有任何作用1,但在程序中包含print(2 * 2)将打印结果4

1 这个表达式确实会执行一些操作:计算 2 和 2 的乘积。但既不会将结果保存起来,也不会向用户显示它。因此除执行计算外,没有其他任何作用。

注意 print实际上是一个函数(这将在本章后面更详细地介绍),因此前面说的print语句其实是函数调用。在 Python 2._x_ 中,print是一条语句,无需将要打印的内容作为参数放在圆括号内。

涉及赋值时,语句和表达式的差别更明显:鉴于赋值语句不是表达式,它们没有可供交互式解释器打印的值。

复制代码
>>> x = 3
>>>

执行赋值语句后,交互式解释器只是再次显示提示符,但发生了一些变化:有一个名为x的新变量,与值3相关联。可以说,这是所有语句的一个根本特征:执行修改操作。例如,赋值语句改变变量,而print语句改变屏幕的外观。

无论在什么编程语言中,赋值语句都可能是最重要的语句,虽然这一点你可能难以马上明白。变量就像是临时“存储区”(类似于菜谱中的锅碗瓢盆)2,其真正威力在于无需知道它们存储的值就能操作它们。

2 请注意,这里给“存储区”加上了引号。值并非存储在变量中,而是存储在变量指向的计算机内存中。多个变量可指向同一个值。深入阅读后会更清楚地了解这一点。

例如,即便根本不知道xy是什么,你也知道x * y的结果为xy的乘积。因此,编写程序时,你能以各种方式使用变量,而无需知道程序运行时它们将存储(指向)的值。

评论

发布