TGViewer
Python Заметки Python Заметки @pythonotes · 2.2K subscribers
Post #15 423
Признавайтесь, кто так пишет?

if not value in array:
...

По задумке, мы пытаемся проверить, отсутствует ли значение value в списке array. Звучит логично, но!

В данном случае оператор not и оператор in не связаны. То есть всё, что делает оператор not, это инвертирование значения, идущего после него, причём результатом будет bool. А после мы проверяем, есть ли этот bool в списке array??? Неожиданный поворот!
Выглядеть это может так:

if (not value) in array:
...

Но стоп, почему же тогда никаких проблем с этой записью нет и ОНО РАБОТАЕТ в таком виде!?

Дело в том, что я намеренно перечислил операторы в порядке их написания (чтобы страшней было). Хотя, на самом деле, оператор in имеет бОльший приоритет. В этом примере мы сначала проверяем наличие элемента в списке (вместо проверки "отсутствия") а потом инвертируем результат.

if not (value in array):
...


Да, получаем ровно тот же результат (считай повезло), но в два действия. Специально для таких случаев есть оператор not in, то есть более "питонично" писать так:

if value not in array:
...

Это будет выполняться в одно действие, так как оператор один (несмотря не мизерные затраты времени оператора not).

Понимайте то, что кодите!

#tricks
  • 👍 1
More from @pythonotes
  1. Sep 21, 2026­ WebAssembly это мощная технология позволяющая загружать практически любое приложение в б…
  2. Aug 17, 2026Не так давно столкнулся с API который в ответе с ошибкой присылал только статус-код. Без п…
  3. Jul 20, 2026У меня основная ОС это Linux. Но нередко требуется делать сборку клиента под Windows. Соби…
  4. Jul 13, 2026В прошлый раз был пример с понижением привелегий процесса. Проблема в том, что обратно под…
  5. Jul 6, 2026Модуль pwd может использоваться для считывания информации о пользователях из базы данных п…
  6. Jun 22, 2026Недавно я реализовал Multi Tenancy систему на FastAPI + SQLAlchemy и пересобрал её в небол…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →