在Python 3.8中引入的海象运算符(:=
)可能看起来有些奇怪,但它在编写更简洁、更高效的代码时却非常有用。
它是什么?
海象运算符允许你在表达式中将值赋给变量。之所以称其为“海象”,是因为:=
看起来像海象的眼睛和獠牙!
之前和之后
没有海象运算符:
# 读取文件行
lines = file.readlines()
if len(lines) > 10:
print(f"文件包含 {len(lines)} 行")
# 更简洁高效
if (line_count := len(file.readlines())) > 10:
print(f"文件有 {line_count} 行")
实用示例
列表推导式:
# 一次性过滤和转换
data = [1, 2, 3, 4, 5]
squares = [result for x in data if (result := x**2) > 10]
# 结果: [16, 25]