Рубрики
Без рубрики

Python не равный оператор

Python не равные операторы, операторы Python. Python не равный оператор с пользовательским объектом, Python __ne __ () функцией неравной оператора.

Автор оригинала: Pankaj Kumar.

Python не равный оператор возвращает Правда Если две переменные имеют тот же тип и имеют разные значения , если значения одинаковы, то он возвращает Ложь Отказ

Python – это динамический и сильно напечатанный язык, поэтому, если две переменные имеют одинаковые значения, но они имеют разные тип, то не равный оператор вернет Правда Отказ

Python не равные операторы

знак равно Не равный оператор, работает как в Python 2, так и в Python 3.
<> Не равный оператор в Python 2, устаревший в Python 3.

Пример Python 2

Давайте посмотрим некоторые примеры неравной оператора в Python 2.7.

$ python2.7
Python 2.7.10 (default, Aug 17 2018, 19:45:58) 
[GCC 4.2.1 Compatible Apple LLVM 10.0.0 (clang-1000.0.42)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 10 <> 20
True
>>> 10 <> 10
False
>>> 10 != 20
True
>>> 10 != 10
False
>>> '10' != 10
True
>>> 

Пример Python 3

Вот несколько примеров с консолью Python 3.

$ python3.7
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2018, 23:26:24) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 10 <> 20
  File "", line 1
    10 <> 20
        ^
SyntaxError: invalid syntax
>>> 10 != 20
True
>>> 10 != 10
False
>>> '10' != 10
True
>>> 

Мы можем использовать Python не равный оператор с F-Strings, если вы используете Python 3.6 или более высокую версию.

x = 10
y = 10
z = 20

print(f'x is not equal to y = {x!=y}')

flag = x != z
print(f'x is not equal to z = {flag}')

# python is strongly typed language
s = '10'
print(f'x is not equal to s = {x!=s}')

Выход:

x is not equal to y = False
x is not equal to z = True
x is not equal to s = True

Python не равен нестандартным объектом

Когда мы используем не равный оператор, он называет __ne __ (Self, Другое) функция. Таким образом, мы можем определить нашу собственную реализацию для объекта и изменять естественный выход.

Допустим, у нас есть Данные Класс с полями – ID и запись. Когда мы используем неравному оператору, мы просто хотим сравнить его для записи. Мы можем достичь этого путем реализации нашей собственной функции __ne __ ().

class Data:
    id = 0
    record = ''

    def __init__(self, i, s):
        self.id = i
        self.record = s

    def __ne__(self, other):
        # return true if different types
        if type(other) != type(self):
            return True
        if self.record != other.record:
            return True
        else:
            return False


d1 = Data(1, 'Java')
d2 = Data(2, 'Java')
d3 = Data(3, 'Python')

print(d1 != d2)
print(d2 != d3)

Выход:

False
True

Обратите внимание, что значения записи D1 и D2 одинаковы, но «ID» отличается. Если мы удалим функцию __ne __ (), то выход будет такой:

True
True