Как использовать оператор Marseille: просто и без усилий
Оператор-моржовый (Walrus Operator): Присваивание в Python 3.8
Основы оператора-моржового (Walrus Operator)
В каждой новой версии Python появляются новые возможности языка. В Python 3.8 самое значительное изменение связано с добавлением нового синтаксиса для присваивания переменных в середине выражений. Оператор :=
дает вам новый синтаксис для присваивания переменных. Этот оператор неофициально называется оператор-моржовый.
Это руководство является подробным введением в оператор-моржовый. Вы узнаете некоторые мотивации для обновления синтаксиса и изучите некоторые примеры, где оператор-моржовый может быть полезен.
Введение
В настоящее время в Python 3.8 к нашему распоряжению поступил оператор :=
, который называют оператором “присваивания-выражения”. Благодаря этому оператору мы можем присваивать переменным значения прямо в середине выражений. Это может быть полезным, когда мы хотим использовать значение переменной сразу после ее присваивания.
В этом руководстве вы узнаете, как:
- Идентифицировать оператор-моржовый и понять его значение
- Понять случаи использования оператора-моржового
- Избегать повторяющегося кода, используя оператор-моржовый
- Переходить от кода с использованием оператора-моржового к коду с использованием других методов присваивания
- Понять влияние на обратную совместимость при использовании оператора-моржового
- Использовать соответствующий стиль в ваших присваивающих выражениях
Обратите внимание, что все примеры оператора-моржового в этом руководстве требуют Python 3.8 или более поздней версии для работы.
Основы оператора-моржового
Давайте начнем с рассмотрения разных терминов, которые программисты используют для обозначения этого нового синтаксиса. Вы уже видели несколько из них в этом руководстве.
Официально оператор :=
называется оператором присваивания-выражения. Во время первых обсуждений он был также назван оператором-моржовым, потому что синтаксис :=
похож на глаза и бивни боком расположенного моржа. Вы также можете видеть, что оператор :=
называют оператором двоеточия и равенства или именованными выражениями.
Пример использования оператора-моржового
Для получения первого впечатления о том, что представляют собой присваивающие выражения, запустите свою среду разработки и поиграйте с следующим кодом:
В первой строке кода происходит традиционное присваивание значения False
переменной walrus
. Затем, на пятой строке, вы используете присваивающее выражение для присвоения значения True
переменной walrus
. В результате выполнения обоих строк 1 и 5 вы можете обращаться к присвоенным значениям, используя имя переменной walrus
.
Вы можете спросить, почему мы используем скобки на пятой строке, и вы узнаете об этом позднее в этом руководстве.
Примечание: Выражение в Python - это часть кода, которая может быть вычислена до значения. Например, 1 + 2
- это выражение, которое вычисляется в значение 3
, в то время как number = 1 + 2
- это оператор присваивания, который не является выражением по сути, и его значение не вычисляется.