3.4 Python表达式
Python表达式是运算符
和操作数
进行有意义排列所得的组合。操作数可以是值
、变量
、标识符
等。单独的一个值或一个变量也是一个表达式。
表达式是Python程序中最常见的代码。
表达式是一段可以被求值
的代码。因为可以被求值,所以一般表达式可以写在赋值语句=
的右边。表达式可以作为语句的组成部分。
以下都是Python表达式:
|
5 + 3 |
|
3 ** 2 |
|
-66 |
|
a > 3 |
|
b == c |
|
d in e |
|
f is not g |
|
not h |
3.4.1 赋值表达式
一个常见用例是在处理匹配的正则表达式的时候:
|
if matching := pattern.search(data): |
|
do_something(matching) |
或者是在处理分块的文件流的时候:
|
while chunk := file.read(9000): |
|
process(chunk) |
3.4.2 条件表达式
条件表达式(有时称为三元运算符
)在所有 Python 运算中具有最低的优先级。表达式 x if C else y 首先是对条件 C 而非 x 求值。如果 C 为真,x 将被求值并返回其值;否则将对 y 求值并返回其值。其语法格式为: 为真时 if 条件表达式 else 为假时 # 斜体为需要替换的内容,下同
示例1: >>> a = 5 if 3 > 2 else 1 >>> a
5
示例2 >>> print('hello') if 5 == 33 else print('world')
world
3.4.3 lambda 表达式
lambda 表达式(有时称为 lambda 构型)被用于创建匿名函数。表达式: lambda 参数: 表达式 会产生一个函数对象。该未命名对象的行为类似于用以下方式定义的函数:
|
def <lambda>(*参数*): |
|
return 表达式 |
关于lambda表达式我们将会在函数章节进行详细介绍。
3.4.4 表达式的求值顺序
Python 按从左至右的顺序对表达式求值。但注意在对赋值操作求值时,右侧会先于左侧被求值。
练习 1、将教程中所有的表达式示例全部手敲一遍并熟悉