Рубрики
Без рубрики

То, что я узнал сегодня – 2 – оператор Walrus (: =) в Python

Что? Новый оператор позволяет переменными назначениями в выражениях (также называемых WALR … с меткой Python, программированием.

Что?

Новый оператор позволяет переменным назначениям в выражениях (также называемых оператором Walrus). Это началось как предложение в Pep572 и стал доступен в Python 3.8.

Преимущества

  • Сделать вещи более компактными.
  • Compress Code при использовании регулярных выражений.
  • Ускорить обработку больших данных.
  • Код более читабелен.

Примеры

Хороший пример можно найти в Pep572 документация:

  • Текущий:

  • Улучшен:

Этот код из ядра Python, и является улучшенной версией Copy.py.

Мы можем использовать в любом состоянии состояния:

# While loop
while (command := input("> ")) != "quit":
    print("You entered:", command)
# Any
if any((comment := line).startswith('#') for line in lines):
    print("First comment:", comment)
else:
    print("There are no comments")

# List comprehenssion
stuff = [[(f(x) as .y), x/.y] for x in range(5)] # with "as"

Наблюдения

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

a := 1 #INVALID must be done with a=1.
a = b := 2 #INVALID must be done with a=b=2

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

Оригинал: “https://dev.to/lgdev07/what-i-ve-learned-today-2-walrus-operator-in-python-1984”