表达式:Python 代码的核心构建块
在 Python 中,表达式是构成程序的基本单元,它能够被计算并产生一个值。可以把表达式想象成一个小的计算任务,Python 解释器会帮你完成这个任务,并告诉你结果。理解表达式是掌握 Python 编程的关键一步。
简单来说,表达式由字面量(常量)、标识符(变量)和运算符组成。
例如,40 + marks
就是一个表达式,其中:
40
是一个字面量 (常量)。marks
是一个标识符 (变量),它代表存储在内存中的一个值。+
是一个运算符,表示加法操作。
Python 解释器会计算这个表达式,最终得到一个数值结果,也就是 40
加上 marks
所代表的值。
以下是一些合法的 Python 表达式示例:
10
(字面量表达式)a
(变量表达式)-a
(负值表达式,对变量a
取负)a - 10
(减法表达式)a + b
(加法表达式)4.0 * 3.5
(浮点数乘法表达式)a == b
(相等比较表达式,返回 True 或 False)c in d
(成员关系测试表达式,检查c
是否在d
中,返回 True 或 False)a is T
(身份测试表达式,检查a
是否是T
对象的引用,返回 True 或 False)"Hello" + "World"
(字符串连接表达式)15 - a*4
(包含乘法和减法的混合运算表达式)3*num + 9/4 - 10%count**2
(包含多种运算符的复杂表达式,运算符优先级决定计算顺序)
需要注意的是,单独的运算符(例如 +
, -
, *
, /
)不能构成一个表达式。 表达式必须包含至少一个字面量或变量。
链式比较:优雅的表达方式
Python 允许你将比较运算符链接在一起,写出更简洁易懂的代码。
例如,lower <= age <= upper
是一个链式比较表达式,它检查 age
是否在 lower
和 upper
之间。
这个表达式等价于 lower <= age and age <= upper
。 Python 会自动将其展开为两个独立的比较,并用 and
连接。
更一般的形式,如果 a
, b
, c
, …, y
, z
都是表达式,而 op1
, op2
, …, opN
是比较运算符,那么链式表达式 a op1 b op2 c ... y opN z
等价于 a op1 b and b op2 c and ... y opN z
。
这种链式比较让代码更具可读性,避免了冗长的 and
连接。
条件表达式:简洁的二选一
Python 提供了条件表达式,也称为“三元运算符”,虽然它不像其他语言那样使用 ?:
符号,而是使用 if
和 else
关键字。 条件表达式允许你根据条件选择不同的值。
它的语法是:
var = t_val if cond else f_val
这行代码的意思是:如果条件 cond
为 True
,则将 t_val
赋值给变量 var
;否则,将 f_val
赋值给 var
。
例如:
>>> value = 1 if 2 > 3 else -1
>>> value
-1
在这个例子中,因为 2 > 3
是 False
,所以 value
被赋值为 -1
。
条件表达式非常适合用于编写简洁的单行代码,根据条件选择不同的值。 它在很多场景下都能提高代码的可读性和效率。例如初始化变量、控制流程等。
通过学习表达式,你已经掌握了构建 Python 代码的基本砖块。 熟练运用表达式,可以让你编写出更简洁、更高效的代码。 记住,实践是最好的老师,多编写代码,多尝试不同的表达式,你将逐渐掌握 Python 编程的精髓。