logo

Rozdiel medzi != a nie je operátor v Pythone

V tomto článku sa na to pozrieme != (Nerovnaké) operátory. V Pythone != je definovaný ako nerovná sa operátor. Vracia sa Pravda ak sa operandy na oboch stranách navzájom nerovnajú, a vráti Nepravdivé ak sú si rovní. Zatiaľ čo nie je operátor kontroluje, či je id() dvoch objektov rovnaké alebo nie. Ak je to isté, vráti sa Nepravdivé a ak nie rovnaké, vráti sa Pravda. A nie je operátor vráti hodnotu True, ak sa operandy na oboch stranách navzájom nerovnajú, a vráti hodnotu false, ak sa rovnajú.

Poďme pochopiť pojmy jeden po druhom:



Príklad 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))>

>

>

Výkon:

False 140733278626480 140733278626480 False 2693154698864 2693154698864 True 2693232342792 2693232342600>

Vysvetlenie:

  1. Najprv s celočíselnými údajmi bol výstup nepravdivý, pretože obe premenné a, b sa vzťahujú na rovnaké údaje 10.
  2. Po druhé s údajmi o reťazci bol výstup nepravdivý, pretože obe premenné c, d odkazujú na rovnaké údaje Pythonu.
  3. Po tretie s údajmi zo zoznamu bol výstup pravdivý, pretože premenné e, f majú rôzne adresy pamäte. (Aj keď obe premenné majú rovnaké údaje)

Príklad 2:

!= je definovaný ako nerovná sa operátor. Vracia sa Pravda ak sa operandy na oboch stranách navzájom nerovnajú, a vráti Nepravdivé ak sú si rovní.

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))>

ako vrátiť pole v jave
>

>

Výkon:

False 140733278626480 140733278626480 False 2693154698864 2693154698864 False 2693232369224 2693232341064>

Príklad 3:

The != operátor porovnáva hodnotu alebo rovnosť dvoch objektov, zatiaľ čo Python nie je operátor kontroluje, či dve premenné ukazujú na rovnaký objekt v pamäti.

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'>)>

>

>

Výkon:

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

Vysvetlenie:

  1. Výstup z najprv ak podmienka je False, keďže zoznam1 aj zoznam2 sú prázdne zoznamy.
  2. Po druhé, ak podmienka zobrazuje hodnotu True, pretože dva prázdne zoznamy sú na rôznych miestach pamäte. Zoznam1 a zoznam2 teda odkazujú na rôzne objekty. Môžeme to skontrolovať pomocou funkcie id() v pythone, ktorá vracia identitu objektu.
  3. Výstup z tretí ak podmienka je False, keďže zoznam1 aj zoznam3 ukazujú na rovnaký objekt.
  4. Výstup z štvrtý ak podmienka je True, pretože zreťazením dvoch zoznamov sa vždy vytvorí nový zoznam.