Курс 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. Списковое включение в Python
  2. Оптимизация интернирования строк
  3. Создание новых функций через partial
  4. Метод join для наборов
  5. Установка Git и AWS CLI
  6. Переопределение метода delitem в Python
  7. Список методов и атрибутов
  8. Именованные срезы в Python
  9. Определение имен функций
  10. Итерация по итерируемым объектам
  11. Определение размера папок в Python
  12. Использование html-скриптов в Jupyter Notebook
  13. Создание инструмента обнаружения плагиата
  14. Форматирование строк в Python
  15. Определение наиболее частого элемента с помощью collections.Counter
  16. Виртуальные среды в Python
  17. Удаление пробелов методом translate()
  18. Динамическая типизация в Python
  19. Функция sleep() в Python
  20. Переворот строки
  21. Python OrderedDict и fromkeys() — работа с словарями
  22. Удаление дубликатов с помощью множеств
  23. Непрерывная проверка в Python
  24. Методы __repr__ и __str__ в Python
  25. Оператор «not» в Python
  26. Проверка ввода с помощью isdigit
  27. Оформление кода по PEP 8
  28. Метод join() для объединения строк
  29. Сортировка HTML по CSS-селектору
  30. Обработка ошибок в JSON данных
  31. Избегайте использования goto
  32. Анализ кода — Python
  33. Анонимные функции в Python
  34. Вакансии в Nebius
  35. Добавление вложенных списков
  36. Строки в Python: апострофы и кавычки
  37. Представление бесконечности в Python
  38. Оператор walrus в Python
  39. Печать календаря
  40. Декоратор @override
  41. Управление ресурсами с контекстными менеджерами
  42. Python reversed() vs срез[::-1]
  43. Создание вложенного генератора
  44. Проблемы с dict в Python
  45. Работа со строками в Python
  46. Обязательные аргументы в Python
  47. Множественные конструкторы в Python
  48. Шаблоны и наследование в Flask

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