Автор оригинала: Chris.
Python не равен ( осталось! = правильно
) Оператор возвращает Правда
когда его левый
Операнд не равен его Правильно
Оперт, как определено __ne __ ()
магический метод. В противном случае возвращается Ложь
Отказ Например, 3! = 2
оценивает Правда
, но 3! = 3
оценивает Ложь
Отказ
Примеры
Давайте рассмотрим пару примеров относительно не равен оператор.
3 не равно 2?
>>> 3 != 2 True
Как насчет 'h'
не равен 'h'
?
>>> 'h' != 'h' False
Вы можете сравнить коллекции, такие как списки, строки, кортежи?
>>> [1, 2] != [1, 2] False >>> [1, 2] != [1, 2, 3] True >>> (1, 1) != (1, 1, 1) True >>> 'hello' != 'hello!' True
Да!
Список не равен Оператор итерации по поводу списков и чеки вправо, если I-й элемент левого операнда отличается от i-й элемента правого операнда.
Можете ли вы использовать не равен Оператор на пользовательских объектах? Да!
Python не равен на пользовательских объектах
Использовать не равен Оператор на пользовательских объектах, определить __ne __ ()
“Дунги” Магический метод Это требует двух аргументов: Я
и Другое
Отказ Используйте атрибуты пользовательских объектов, чтобы определить, если объект не равен другому другому. Возвращаемое значение – булева Правда
или Ложь
Отказ
В следующем коде вы проверяете, не равно ли человек другого человека, используя возраст
атрибут Как критерий решения:
class Person: def __init__(self, age): self.age = age def __ne__(self, other): return self.age != other.age alice = Person(18) bob = Person(19) carl = Person(18) print(alice != bob) # True print(alice != carl) # False
Потому что Алиса 18 лет, и Боб 19 лет, результат Алиса
это Правда
Отказ Но результат Алиса
оценивает Ложь
как оба имеют одинаковый возраст.
Python не равен нескольким значениям
Как проверить, что переменная не равна нескольких переменных?
Чтобы проверить, не будет равна ли перемести нескольких значений, приведенных в списке, используйте не в Участник оператора. Например, выражение «Алиса» не в [«Энн», «Боб», «Карл»]
Возвращает Правда
Если строка «Алиса»
не в данном списке, а Ложь
иначе.
Следующий пример создает список из трех значений и хранит его в переменной негативы
Отказ Затем вы проверяете, является ли строка запроса «Алиса»
не равно элементам, хранящимся в списке негативы
Отказ Если это так, это Отпечатки 'Ура!'
в оболочку:
negatives = ['Ann', 'Bob', 'Carl'] if 'Alice' not in negatives: print('Yay!')
Вывод:
Yay!
Python не равен 0
Чтобы проверить, является ли переменная X не равна значению 0, используйте выражение х Отказ В булевом контексте, таком как состояние условия, вы также можете использовать выражение Если х: вместо Если х:
Потому что Python неявно преобразует каждое значение 0 в логическое значение Ложь
и другая ценность в Правда
Отказ
Вот как семантически идентичные методы:
x = 42 # Method 1 if x != 0: print('yes') # Method 2 if x: print('yes')
Выходный фрагмент кода:
yes yes
Python не равен NAN
Чтобы проверить, есть ли номер х
не равно Nan, используйте не math.isnan (x) выражение, которое возвращает Правда
Если номер х
не нан, а Ложь
иначе.
Следующий код показывает пример, в котором мы сначала создаем значение Float NAN, используя поплавок ('NAN')
Встроенный метод, а затем проверка этого номера, используя math.isnan (x)
Отказ Результатом является Ложь
Потому что значение, действительно, не число.
import math x = float('nan') print(not math.isnan(x)) # False
Операторы сравнения
Сравнение операторов применяются к сопоставимым объектам, и они возвращают логическое значение ( Правда
или Ложь
).
Оператор | Имя | Описание | Пример |
> | Больше чем | Возвращает true, если левый операнд больше, чем правильный операнд | 3 > 2 |
< | Меньше, чем | Возвращает true, если левый операнд меньше, чем правильный операнд | 3 < 2 |
== | Равно | Возвращает true, если левый операнд такой же, как правильный операнд | (3) |
!= | Не равно | Возвращает true, если левый операнд не такой, как правильный операнд | (3) |
>= | Больше или равно К | Возвращает true, если левый операнд больше или равен правой операнду | (3) |
<= | Меньше или равно К | Возвращает true, если левый операнд меньше или равен правой операнду | (3) |
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.
Оригинал: “https://blog.finxter.com/python-not-equal-to/”