Python PEP 0572 - Assignment Expressions

查看原文

PEP 0572 草案:实现类似这样的语法:if (match := pattern.search(data)) is not None:, while chunk := file.read(8192):.

这样的语法在 C 中很常见,在 Python 中之前还无法做到,因为 = 操作不是表达式,所以它不能赋值后返回值。

衍生思考:除去偏见,我觉得它似乎让代码变工整了。让 x = xxxxxx; if x: 这样的代码变紧凑了。