logo

Skillnaden mellan != och är inte operatorn i Python

I den här artikeln ska vi se != (Inte lika) operatörer. I Python != är definierad som inte lika med operatör. Den återkommer Sann om operander på endera sidan inte är lika med varandra, och returnerar Falsk om de är lika. Medan är inte operatorn kontrollerar om id() för två objekt är samma eller inte. Om det är samma, kommer det tillbaka Falsk och om det inte är samma, kommer det tillbaka Sann. Och är inte operatorn returnerar True om operander på endera sidan inte är lika med varandra, och returnerar falskt om de är lika.

Låt oss förstå begreppen en efter en:

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

>

>

Produktion:

False 140733278626480 140733278626480 False 2693154698864 2693154698864 True 2693232342792 2693232342600>

Förklaring:

  1. Först med heltalsdata var utdata falsk eftersom båda variablerna a, b hänvisar till samma data 10.
  2. För det andra med strängdata var utdata falsk eftersom båda variablerna c, d hänvisar till samma data Python.
  3. För det tredje med listdata var utdata sann eftersom variablerna e, f har olika minnesadress. (Även om båda variablerna har samma data)

Exempel 2:

!= är definierad som inte lika med operatör. Den återkommer Sann om operander på endera sidan inte är lika med varandra, och returnerar Falsk om de är lika.

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

linux byta namn på katalogen
>

>

Produktion:

False 140733278626480 140733278626480 False 2693154698864 2693154698864 False 2693232369224 2693232341064>

Exempel 3:

De != operatorn jämför värdet eller likheten för två objekt, medan Python är inte operatören kontrollerar om två variabler pekar på samma objekt i minnet.

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

>

>

Produktion:

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

Förklaring:

  1. Utgången av först om villkoret är False eftersom både list1 och list2 är tomma listor.
  2. För det andra om villkoret visar True eftersom två tomma listor finns på olika minnesplatser. Därför refererar list1 och list2 till olika objekt. Vi kan kontrollera det med id() funktion i python som returnerar identiteten för ett objekt.
  3. Utgången av tredje om villkoret är False eftersom både list1 och list3 pekar på samma objekt.
  4. Utgången av fjärde om villkoret är True eftersom sammanlänkningen av två listor alltid ger en ny lista.