Пропустить до содержимого

Как использоватьhttps://codemdd.io/исправить ошибку not in python ?

CodeMDD.io

Использование оператора “not” в Python

Python предоставляет оператор not, который позволяет инвертировать логическое значение выражений и объектов типа Boolean. Вы можете использовать этот оператор в логическом контексте, таком как условные операторы if и циклы while. Он также работает в не-логическом контексте, что позволяет инвертировать логическое значение переменных.

Корректное использование оператора not поможет вам написать точные отрицательные выражения типа Boolean и управлять потоком выполнения в ваших программах.

В этом уроке вы узнаете:

  • Как работает оператор not в Python
  • Как использовать оператор not в логическом и не-логическом контексте
  • Как использовать функцию operator.not_() для выполнения логической инверсии
  • Как и когда избегать избыточной отрицательной логики в вашем коде

Работа с логической алгеброй в Python

Джордж Буль создал то, что сейчас известно как булева алгебра, основанная на значениях истинности и ложности. Она также определяет ряд булевых операций: И (AND), ИЛИ (OR) и НЕ (NOT). Эти значения и операции помогают принимать решения и управлять потоком программы.

>>> issubclass(bool, int)
True
>>> help(bool)
Help on class bool in module builtins:
class bool(int)
bool(x) -> bool
...

Этот тип имеет два возможных значения: True и False, которые являются встроенными константами в Python и должны быть написаны с заглавной буквы. Внутренне Python представляет эти значения как целочисленные числа:

>>> type(True)
<class 'bool'>
>>> type(False)
<class 'bool'>
>>> isinstance(True, int)
True
>>> isinstance(False, int)
True
>>> int(True)
1
>>> int(False)
0

Python внутренне представляет булевы значения как 1 для True и 0 для False. Попробуйте выполнить выражение True + True для проверки:

>>> True + True
2

Начало работы с оператором not

В Python оператор not выполняет логическую инверсию значения. Если значение истинно, то оператор not возвращает False, и наоборот.

>>> not True
False
>>> not False
True

Вы также можете использовать оператор not с переменными типа bool:

>>> value = True
>>> not value
False

Использование оператора not в логическом контексте

Основное применение оператора not заключается в логическом контексте, таком как условные операторы if и циклы while. В этом контексте вы можете использовать оператор not для инверсии значения и изменения потока выполнения программы.

Условные операторы if

В условных операторах if вы можете использовать оператор not для проверки ложности выражения:

if not condition:
# Код, который выполнится, если condition равно False
else:
# Код, который выполнится, если condition равно True

Циклы while

В циклах while вы можете использовать оператор not для остановки цикла при выполнении определенных условий:

while not condition:
# Код, который выполняется, пока condition равно False

Использование оператора not в не-логическом контексте

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

>>> number = 5
>>> not number
False
>>> not 0
True
>>> not ""
True

В этом случае оператор not переводит значение в логический контекст и инвертирует его.

Использование функции operator.not_()

В модуле operator есть функция not_(), которую вы можете использовать для выполнения логической инверсии. Эта функция аналогична использованию оператора not.

import operator
value = True
result = operator.not_(value)
print(result) # Output: False

Важные моменты при работе с оператором not

При использовании оператора not важно следовать некоторым рекомендациям, чтобы код оставался ясным и читаемым:

Проверка принадлежности

Используйте оператор not при проверке принадлежности объекта к списку или множеству. Например, вы хотите проверить, не входит ли элемент в список:

my_list = [1, 2, 3]
if not value in my_list:
print("Value is not in the list")

Проверка идентичности объектов

Используйте оператор not при проверке идентичности двух объектов. Например, вы хотите проверить, что два объекта не являются одним и тем же:

object1 = "Hello"
object2 = "World"
if not object1 is object2:
print("Objects are not identical")

Избегайте избыточной отрицательной логики

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

Заключение

Вы изучили, как использовать оператор not в Python для инвертирования значений. Оператор not полезен в логическом и не-логическом контексте и позволяет инвертировать логическое значение объектов. Кроме того, вы узнали о функции operator.not_() и наилучших практиках использования оператора not при написании кода.

Теперь вы можете успешно использовать оператор not в Python и улучшить свои навыки программирования.