Курс Python → Приоритет операций в Python

При работе с операторами в Python важно помнить о приоритете выполнения операций. В данном случае, оператор == имеет более высокий приоритет, чем оператор not. Это означает, что выражение not x == y будет интерпретировано как not (x == y), что в свою очередь эквивалентно not (True == False), что приведет к итоговой оценке True.

Однако, если мы попытаемся написать выражение x == not y, мы получим ошибку SyntaxError. Это происходит потому, что данное выражение может быть неправильно интерпретировано как (x == not) y, а не x == (not y), как мы могли бы предположить на первый взгляд. Анализатор кода ожидал, что токен not будет частью оператора not in (поскольку оба оператора == и not in имеют одинаковый приоритет), и когда не нашел следующего за not токена in, он сгенерировал ошибку.

Для избежания подобных ошибок, важно явно указывать порядок выполнения операций с помощью скобок. Например, вместо написания x == not y, лучше использовать x == (not y), чтобы избежать недоразумений и сделать код более понятным для других разработчиков.


# Примеры кода:

x = True
y = False

result_1 = not x == y
print(result_1) # Вывод: True

# result_2 = x == not y # Вызовет SyntaxError

result_3 = x == (not y)
print(result_3) # Вывод: True

Использование правильного порядка операций и явное указание приоритета операторов поможет избежать ошибок в коде и сделает его более читаемым и понятным для других разработчиков.

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

Автор урока

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

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

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

  1. Библиотека funcy: удобные утилиты
  2. Библиотека itertools: объединение списков
  3. Замена элементов в списке с помощью генераторов списков
  4. Сортировка с помощью key
  5. Создание коллекций из генератора
  6. Форматирование чисел в Python
  7. F-строки в Python 3.8
  8. Асинхронное программирование с asyncio
  9. Форматирование строк с % в Python
  10. Проверка запуска скрипта или импорта модуля
  11. Python enumerate() функции
  12. Строковое представление объектов
  13. Оператор assert в Python
  14. Использование метода lower()
  15. Разделение строки с помощью re.split()
  16. Разделение строки на пары ключ-значение.
  17. Операции с кортежами
  18. Форматирование вывода с F-строками
  19. Присвоение и ссылки
  20. Оптимизация памяти с slots
  21. Работа с временем в Python
  22. Списки в Python: основы
  23. Глобальные переменные в Python
  24. Создание объекта времени
  25. Метод get для словаря
  26. Хранение переменных в Python.
  27. Цепные операции в Python
  28. Оператор == в Python
  29. Функция zip() в Python
  30. Объединение словарей в Python
  31. Генерация UUID в Python
  32. Установка и использование pyshorteners
  33. Безопасный доступ к значениям словаря
  34. Модуль inspect
  35. Работа с контекстным менеджером Pool
  36. Регулярные выражения: метод match
  37. Оператор walrus в Python
  38. Удаление falsy-значений из списка с помощью filter
  39. Равенство и идентичность в Python
  40. Python UserString — создание подклассов строк

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