logo

Різниця між != і не є оператором у Python

У цій статті ми збираємося побачити != (Не рівноправні) оператори. На Python != визначається як не дорівнює оператор. Воно повертається правда якщо операнди з обох сторін не дорівнюють один одному, і повертає помилковий якщо вони рівні. Тоді як не Оператор перевіряє, чи id() двох об’єктів є однаковим чи ні. Якщо те саме, воно повертається помилковий і якщо не те саме, воно повертається правда І не оператор повертає True, якщо операнди з обох сторін не дорівнюють один одному, і повертає false, якщо вони рівні.

Давайте розберемося з поняттями по черзі:

приклад 1:



Python3




a>=> 10> b>=> 10> > print>(a>is> not> b)> print>(>id>(a),>id>(b))> > c>=> 'Python'> d>=> 'Python'> print>(c>is> not> d)> print>(>id>(c),>id>(d))> > e>=> [>1>,>2>,>3>,>4>]> f>=> [>1>,>2>,>3>,>4>]> print>(e>is> not> f)> print>(>id>(e),>id>(f))>

>

>

Вихід:

False 140733278626480 140733278626480 False 2693154698864 2693154698864 True 2693232342792 2693232342600>

Пояснення:

  1. Спочатку з цілочисельними даними результат був false, оскільки обидві змінні a, b посилаються на ті самі дані 10.
  2. По-друге, з рядковими даними результат був false, оскільки обидві змінні c, d посилаються на ті самі дані Python.
  3. По-третє, з даними списку результат був істинним, оскільки змінні e, f мають різні адреси пам’яті. (Навіть якщо обидві змінні мають однакові дані)

приклад 2:

!= визначається як не дорівнює оператор. Воно повертається правда якщо операнди з обох сторін не дорівнюють один одному, і повертає помилковий якщо вони рівні.

Python3




# Python3 code to> # illustrate the> # difference between> # != and is operator> > a>=> 10> b>=> 10> print>(a !>=> b)> print>(>id>(a),>id>(b))> > c>=> 'Python'> d>=> 'Python'> print>(c !>=> d)> print>(>id>(c),>id>(d))> > e>=> [>1>,>2>,>3>,>4>]> f>=>[>1>,>2>,>3>,>4>]> print>(e !>=> f)> print>(>id>(e),>id>(f))>

фрагмент масиву Java
>

>

Вихід:

False 140733278626480 140733278626480 False 2693154698864 2693154698864 False 2693232369224 2693232341064>

приклад 3:

The != оператор порівнює значення або рівність двох об’єктів, тоді як Python не Оператор перевіряє, чи дві змінні вказують на той самий об’єкт у пам’яті.

Python3




# Python3 code to> # illustrate the> # difference between> # != and is not operator> # [] is an empty list> list1>=> []> list2>=> []> list3>=> list1> > #First if> if> (list1 !>=> list2):> >print>(>' First if Condition True'>)> else>:> >print>(>'First else Condition False'>)> > #Second if> if> (list1>is> not> list2):> >print>(>'Second if Condition True'>)> else>:> >print>(>'Second else Condition False'>)> > #Third if> if> (list1>is> not> list3):> >print>(>'Third if Condition True'>)> else>:> >print>(>'Third else Condition False'>)> > list3>=> list3>+> list2> > #Fourth if> if> (list1>is> not> list3):> >print>(>'Fourth if Condition True'>)> else>:> >print>(>'Fourth else Condition False'>)>

>

>

Вихід:

First else Condition False Second if Condition True Third else Condition False Fourth if Condition True>

Пояснення:

  1. Вихід спочатку якщо умова хибна, оскільки список1 і список2 є порожніми списками.
  2. По-друге, якщо умова показує True, оскільки два порожні списки знаходяться в різних місцях пам’яті. Отже, list1 і list2 посилаються на різні об’єкти. Ми можемо перевірити це за допомогою функції id() у Python, яка повертає ідентичність об’єкта.
  3. Вихід третє якщо умова є False, оскільки і list1, і list3 вказують на той самий об’єкт.
  4. Вихід четвертий якщо умова має значення True, тому що конкатенація двох списків завжди створює новий список.