Как использовать операторы 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
— равны, только если list1list1[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

Давайте теперь используем оператор равенства в условном выражении.
Примечание : число, которое без остатка делится на 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 вы можете использовать функцию 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.
Узнайте, как рассчитать разницу во времени или сделать игру в змейку на питоне, здесь.
Увидимся в следующем уроке. А пока удачного обучения и кодирования!