Skip to content

表达式: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 是否在 lowerupper 之间。

这个表达式等价于 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 提供了条件表达式,也称为“三元运算符”,虽然它不像其他语言那样使用 ?: 符号,而是使用 ifelse 关键字。 条件表达式允许你根据条件选择不同的值。

它的语法是:

python
var = t_val if cond else f_val

这行代码的意思是:如果条件 condTrue,则将 t_val 赋值给变量 var;否则,将 f_val 赋值给 var

例如:

python
>>> value = 1 if 2 > 3 else -1
>>> value
-1

在这个例子中,因为 2 > 3False,所以 value 被赋值为 -1

条件表达式非常适合用于编写简洁的单行代码,根据条件选择不同的值。 它在很多场景下都能提高代码的可读性和效率。例如初始化变量、控制流程等。

通过学习表达式,你已经掌握了构建 Python 代码的基本砖块。 熟练运用表达式,可以让你编写出更简洁、更高效的代码。 记住,实践是最好的老师,多编写代码,多尝试不同的表达式,你将逐渐掌握 Python 编程的精髓。