Используйте оператор моржа при проверке значения

Как я могу проверить, равна ли переменная чему-либо, и установить новую переменную в дочерней области?

Например:

bar = 'foobar'
my_slice = bar[:3]
if my_slice == 'foo':
   print(my_slice)

Кажется, что новый оператор моржа здесь был бы полезен, но не сразу понятно, как вы будете использовать его здесь.

1 ответ

Операторы моржей здесь работают очень хорошо, просто нужно понимать, как именно они работают.

if (my_slice := bar[3:]) == 'foo':
   print(my_slice)

Операторы моржа устанавливают переменную для вывода некоторого выражения. Он почти идентичен функции знака равенства, за исключением того, что его можно использовать в строке.

Итак, это выражение:

(my_slice := bar[3:]) == 'foo'

Можно свести к (variable = expression) == value

Так как вывод my_slice := bar[:3] равно bar[:3], приведенное выше эквивалентно

bar[3:] == 'foo'

Примечание: круглые скобки здесь обязательны, иначеvariable будет равняться результату операции сравнения, то есть True или False

Другие вопросы по тегам