Вирази присвоєння

Оновлено: 24.04.2023

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

Вираз присвоєння (іноді його також називають «іменованим виразом» або «моржем») призначає expression identifier, а також повертає значення expression.

Одним із поширених випадків використання є обробка зіставлених регулярних виразів:

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

Або при обробці потоку файлів у частинах:

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

Assignment expressions must be surrounded by parentheses when used as sub-expressions in slicing, conditional, lambda, keyword-argument, and comprehension-if expressions and in assert and with statements. In all other places where they can be used, parentheses are not required, including in if and while statements.