海象表达式

海象表达式(:=)是在 Python 3.8 版本中引入的,在使用时需要注意目前项目所使用的 Python 版本。海象表达式可以用于给变量赋值或者创建局部变量,并将局部变量带入其作用域。海象表达式的值为完成赋值后的变量的值。其具体使用可以参考以下示例。

# 取得列表长度,避免做两次len()运算
if (n := len(arr)) > 10:
	print(f"List is longer than {n}")

# 从文件中循环读取指定长度的内容,并进行处理
# 在没有获取到内容时结束循环读取
while (block := f.read(1024)) != "":
	process_data(block)

# 在列表推导中使用临时变量
new_arr = [a for a in some-arr if (cond := process(a)) in other_list]