Пропустить до содержимого

Как использовать оператор Marseille: просто и без усилий

CodeMDD.io

Оператор-моржовый (Walrus Operator): Присваивание в Python 3.8

Основы оператора-моржового (Walrus Operator)

В каждой новой версии Python появляются новые возможности языка. В Python 3.8 самое значительное изменение связано с добавлением нового синтаксиса для присваивания переменных в середине выражений. Оператор := дает вам новый синтаксис для присваивания переменных. Этот оператор неофициально называется оператор-моржовый.

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

Введение

В настоящее время в Python 3.8 к нашему распоряжению поступил оператор :=, который называют оператором “присваивания-выражения”. Благодаря этому оператору мы можем присваивать переменным значения прямо в середине выражений. Это может быть полезным, когда мы хотим использовать значение переменной сразу после ее присваивания.

В этом руководстве вы узнаете, как:

  • Идентифицировать оператор-моржовый и понять его значение
  • Понять случаи использования оператора-моржового
  • Избегать повторяющегося кода, используя оператор-моржовый
  • Переходить от кода с использованием оператора-моржового к коду с использованием других методов присваивания
  • Понять влияние на обратную совместимость при использовании оператора-моржового
  • Использовать соответствующий стиль в ваших присваивающих выражениях

Обратите внимание, что все примеры оператора-моржового в этом руководстве требуют Python 3.8 или более поздней версии для работы.

Основы оператора-моржового

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

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

Пример использования оператора-моржового

Для получения первого впечатления о том, что представляют собой присваивающие выражения, запустите свою среду разработки и поиграйте с следующим кодом:

>>> walrus = False
>>> walrus
False
>>> (walrus := True)
True
>>> walrus
True

В первой строке кода происходит традиционное присваивание значения False переменной walrus. Затем, на пятой строке, вы используете присваивающее выражение для присвоения значения True переменной walrus. В результате выполнения обоих строк 1 и 5 вы можете обращаться к присвоенным значениям, используя имя переменной walrus.

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

Примечание: Выражение в Python - это часть кода, которая может быть вычислена до значения. Например, 1 + 2 - это выражение, которое вычисляется в значение 3, в то время как number = 1 + 2 - это оператор присваивания, который не является выражением по сути, и его значение не вычисляется.