Как использовать операторы Not Equal и Equal в Python

Опубликовано: 2022-01-29

В Python вы можете использовать операторы « не равно » и « равно », чтобы проверить, имеют ли два объекта Python одинаковое значение. Этот учебник научит вас использовать эти операторы с большим количеством примеров кода.

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

  • синтаксис оператора не равно ( != ) и варианты использования,
  • синтаксис оператора равенства ( == ) с примерами и
  • использование операторов is и is not для проверки идентичности любых двух объектов Python.

Давайте начнем.

Синтаксис оператора не равно Python

Для любых двух объектов Python obj1 и obj2 общий синтаксис использования оператора не равно :

 <obj1> != <obj2>
  • возвращает True , когда значения obj1 и obj2 не равны, и
  • возвращает False противном случае.

Примечание . Как упоминалось выше, obj1 и obj2 могут быть целыми числами, числами с плавающей запятой, строками, списками и так далее.

Примеры кода оператора Python Not Equal

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

Использование оператора Python Not Equal для сравнения

Вот наш первый пример.

 num1 = 27 num2 = 3*9 num1 != num2 # Output: False

Вы можете запускать примеры кода в Geekflare Python IDE прямо из браузера. Или вы можете запустить на своей локальной машине.

Поскольку num1 = 27 , а num2 также оценивается как 27 ( 3*9 = 27 ), значения num1 и num2 равны. Таким образом, оператор != возвращает False .

Возьмем другой пример.

В приведенном ниже коде для num1 установлено значение 7. А для num2 установлено значение 7. Поскольку они относятся к разным типам данных, оператор не равно возвращает True .

 num1 = 7 num2 = "7" num1 != num2 # Output: True

Вы приводите строку к целому числу, как показано ниже:

 num1 = 7 num2 = int("7") num1 != num2 # Output: False

В этом случае вы можете видеть, что возвращаемый результат равен False , так как num1 и num2 теперь равны целому числу 7.

Вы также можете использовать оператор не равно с коллекциями Python, такими как списки, кортежи и наборы.

Примечание . Для коллекций данных, таких как списки, оператор не равно работает, проверяя значения отдельных элементов. Например, два списка list1 и list2 — каждый длиной n — равны, только если list1 list1[i] == list2[i] для i в {0,1,2,3,..n-1} .

Вот пример:

 list1 = [2,4,6,8] list2 = [2,4,6,9] list1 != list2 # Output: True

В приведенном выше примере list1 и list2 отличаются только одним элементом. И оператор not equal != возвращает True , как и ожидалось.

Использование оператора Python Not Equal в условных выражениях

Вы часто будете использовать оператор « не равно » как часть условных выражений Python.

Например, фрагмент кода ниже показывает, как вы можете проверить, является ли число нечетным.

Число, которое не делится без остатка на 2, является нечетным . И это сводится к условию num%2 != 0 .

 num = 7 if(num%2 != 0): print("The number is odd.") else: print("The number is even.") # Output: The number is odd.

Вы также можете использовать условные выражения в генераторах списков, если хотите сохранить только те элементы списка, которые соответствуют определенному условию. В приведенном ниже примере odd_10 — это список всех нечетных чисел меньше 10.

 odd = [num for num in range(10) if num%2 != 0] print(odd) # Output: [1, 3, 5, 7, 9]

На этом мы завершаем обсуждение оператора не равно ( != ).

Как вы уже могли догадаться, оператор « равно » производит эффект, противоположный оператору « не равно ».

Вы узнаете больше об этом в следующем разделе.

Синтаксис оператора равенства Python

Вот синтаксис для использования оператора равенства Python:

 <obj1> == <obj2>  #where <obj1> and <obj2> are valid Python objects
  • возвращает True , когда значения obj1 и obj2 равны, и
  • возвращает False противном случае.

Примеры кода оператора равенства Python

Оператор равенства ( == ) можно использовать очень похоже на оператор не равно .

Давайте закодируем следующие примеры:

  • чтобы проверить, равны ли две строки,
  • чтобы проверить, является ли число четным, и
  • использовать условные операторы в понимании списка

Использование оператора Python Not Equal для сравнения

В приведенном ниже фрагменте кода str1 и str2 равны по значению. Таким образом, оператор равенства ( == ) возвращает True .

 str1 = "coding" str2 = "coding" str1 == str2 # Output: True
python-equals-оператор
Оператор равенства Python

Давайте теперь используем оператор равенства в условном выражении.

Примечание : число, которое без остатка делится на 2, является четным . А в коде это сводится к условию num%2 == 0

 num = 10 if(num%2 == 0): print("The number is even.") else: print("The number is odd.") # Output: The number is even.

Давайте теперь возьмем этот пример и воспользуемся распознаванием списков Python, чтобы получить все четные числа меньше 10.

 even_10 = [num for num in range(10) if num%2 == 0] print(even_10) # Output: [0, 2, 4, 6, 8]

В приведенном выше примере

  • range(10) возвращает объект диапазона, который можно пройти в цикле, чтобы получить все целые числа от 0 до 9.
  • Условие num%2 == 0 True только для четных чисел.
  • Итак, even_10 — это список всех четных чисел меньше 10.

До сих пор вы узнали, как проверять равенство с помощью операторов не равно ( != ) и равно ( == ).

В следующем разделе вы узнаете, как проверить подлинность двух объектов. Вы проверите, идентичны ли два объекта Python.

Как использовать операторы Python is и not is

Если вы новичок в программировании на Python, возможно, вы запутались между операторами == и is . Поясним это в этом разделе.

В предыдущем разделе у нас был пример, где str1 и str2 равны, а оператор == возвращает True .

Теперь запустите следующий фрагмент кода.

 str1 = "coding" str2 = "coding" str1 is str2 # Output: False

Вы можете видеть, что str1 is str2 возвращает False .

Давайте сделаем шаг назад и поймем, что делает оператор is в Python.

Оператор is работает с любыми двумя объектами Python.
И возвращает True только в том случае, если два объекта идентичны , то есть они ссылаются на один и тот же объект в памяти.

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

python-это-оператор
== и это НЕ одно и то же

В Python вы можете использовать функцию id() для получения идентификатора объекта.

Запустите следующую ячейку кода, чтобы получить идентификаторы str1 и str2 .

 id(str1) # Sample output: 139935398870320 id(str2) # Sample output: 139935398871344

Как видите, str1 и str2 имеют разные идентификаторы. И str1 is str2 возвращает False , как и ожидалось.

Собрав это вместе,

 <obj1> is <obj2> # returns True if and only if id(<obj1>) == id(<obj2>) # returns True

Давайте быстро проверим это, как показано:

 str1 = "coding" str2 = str1 print(str1 is str2) print(id(str1) == id(str2)) # Output True True

Интуитивно оператор is not делает противоположное оператору is .

Оператор is not работает с любыми двумя объектами Python.
И возвращает False , только если два объекта идентичны , то есть они ссылаются на один и тот же объект в памяти. В противном случае он возвращает True .

В приведенных выше примерах кода попробуйте заменить is на is not и проверьте результат.

Вывод

Надеюсь, вы нашли этот урок полезным.

Подводя итог, вы узнали:

  • как использовать операторы равенства ( == ) и не равенства ( != ), чтобы проверить, имеют ли два объекта Python одинаковое значение,
  • разница между равенством и идентичностью объектов Python и
  • как операторы Python is и is not помогают в проверке идентичности двух объектов Python.

Узнайте, как рассчитать разницу во времени или сделать игру в змейку на питоне, здесь.

Увидимся в следующем уроке. А пока удачного обучения и кодирования!