Курс Python → Оператор Walrus в Python

Оператор Walrus в Python 3.8 представляет собой удобный способ присваивания значения переменной и одновременной его использования в выражении. Синтаксис оператора Walrus прост — NAME:= expr, где NAME — это допустимый идентификатор, а expr — допустимое выражение. Это позволяет избежать повторного вычисления значения и улучшает читаемость кода.

Однако стоит помнить, что оператор Walrus не поддерживает повторяемую упаковку и распаковку значений. Например, (a := 6, 9) будет эквивалентно ((a := 6), 9), а значение переменной a будет равно 6. Это означает, что нельзя использовать оператор Walrus для присваивания нескольких значений одновременно, как в (a, b = 6, 9).

Важно отметить, что заключение в скобки выражения, содержащего оператор присваивания =, не допускается. Поэтому использование оператора Walrus в подобных конструкциях приведет к синтаксической ошибке. Например, (a, b = 6, 9) вызовет ошибку из-за попытки использования оператора присваивания внутри выражения с оператором Walrus.


# Примеры использования оператора Walrus
a = 5
if (n := a % 2) == 1:
    print(f"{a} is odd")
else:
    print(f"{a} is even")

Приведенный выше пример демонстрирует использование оператора Walrus для проверки четности числа a. Здесь значение остатка от деления a на 2 присваивается переменной n с помощью оператора Walrus, что позволяет избежать повторного вычисления значения. Это делает код более компактным и понятным.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Удаление символа из строки
  2. Оператор break в Python
  3. Работа с argparse
  4. Преобразование вложенного списка
  5. None в Python: использование и особенности
  6. Оператор continue в Python
  7. Очистка вывода в Python
  8. Эффективная конкатенация строк в Python
  9. Метод rsub в Python: расширение функциональности вычитания
  10. PATCH-запрос с библиотекой requests
  11. Регистрация на TenChat
  12. Преобразование range в итератор
  13. Принципы программирования
  14. Генераторы и сеты в Python
  15. Область видимости переменных
  16. История Python
  17. capitalize() — изменение регистра первого символа строки
  18. Фильтрация списка от «ложных» значений
  19. Возврат нескольких значений
  20. Форматирование строк в Python
  21. Слияние словарей в Python 3.9
  22. Цикл for в Python
  23. Python: Splat-оператор и splatty-splat
  24. Срезы в Numpy
  25. Вычисление разности множеств в Python
  26. Обработка StopIteration в Python
  27. Удаление пробелов методом translate()
  28. Класс Counter() для подсчета элементов
  29. Цикл while в Python
  30. Загрузка постов Instagram
  31. Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
  32. Проверка вхождения подстроки
  33. Переворот списка в Python
  34. Копирование словарей и списков в Python
  35. Конкатенация строк с помощью join()
  36. Реверс строки в Python
  37. Пропуск начальных строк с помощью dropwhile()
  38. Работа с Telegram API на Python
  39. Непрерывная проверка в Python
  40. Импорт в Python: список all
  41. Управление виртуальными средами в Python
  42. Считывание бинарного файла в Python
  43. Декораторы классов
  44. Символ подчеркивания в Python
  45. Метод __iand__ для пользовательских классов

Marketello читают маркетологи из крутых компаний