6.12. 赋值表达式

  1. assignment_expression ::= [identifier ":="] expression

赋值表达式(有时又被叫做“命名表达式”或“海象表达式”)将一个 expression 赋值给一个 identifier,同时还返回 expression 的值。

一个常见用例是在处理匹配的正则表达式的时候:

  1. if matching := pattern.search(data):
  2. do_something(matching)

或者是在处理分块的文件流的时候:

  1. while chunk := file.read(9000):
  2. process(chunk)

3.8 新版功能: 请参阅 PEP 572 了解有关赋值表达式的详情。