Как использовать операторы 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 == 0Trueтолько для четных чисел. - Итак,
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.
Узнайте, как рассчитать разницу во времени или сделать игру в змейку на питоне, здесь.
Увидимся в следующем уроке. А пока удачного обучения и кодирования!
