In dit artikel gaan we het zien != (Niet gelijke) operators. In Python != is gedefinieerd als niet gelijk aan exploitant. Het keert terug WAAR als operanden aan beide kanten niet gelijk zijn aan elkaar, en retourneert Vals als ze gelijk zijn. Terwijl is niet operator controleert of id() van twee objecten hetzelfde is of niet. Als dit hetzelfde is, keert het terug Vals en als het niet hetzelfde is, keert het terug WAAR. En is niet operator retourneert True als operanden aan beide kanten niet gelijk zijn aan elkaar, en retourneert false als ze gelijk zijn.
Laten we de concepten één voor één begrijpen:
Voorbeeld 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))> |
>
>
Uitgang:
False 140733278626480 140733278626480 False 2693154698864 2693154698864 True 2693232342792 2693232342600>
Uitleg:
- Eerst was de uitvoer bij gehele gegevens onwaar omdat beide variabelen a en b verwijzen naar dezelfde gegevens 10.
- Ten tweede was de uitvoer bij stringgegevens onwaar omdat beide variabelen c en d verwijzen naar dezelfde Python-gegevens.
- Ten derde was de uitvoer bij lijstgegevens waar omdat de variabelen e, f een ander geheugenadres hebben. (Ook al hebben beide variabelen dezelfde gegevens)
Voorbeeld 2:
!= is gedefinieerd als niet gelijk aan exploitant. Het keert terug WAAR als operanden aan beide kanten niet gelijk zijn aan elkaar, en retourneert Vals als ze gelijk zijn.
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))> |
gekoppelde lijst
>
>
Uitgang:
False 140733278626480 140733278626480 False 2693154698864 2693154698864 False 2693232369224 2693232341064>
Voorbeeld 3:
De != operator vergelijkt de waarde of gelijkheid van twee objecten, terwijl de Python is niet operator controleert of twee variabelen naar hetzelfde object in het geheugen verwijzen.
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'>)> |
>
>
Uitgang:
First else Condition False Second if Condition True Third else Condition False Fourth if Condition True>
Uitleg:
- De uitvoer van de eerst als de voorwaarde is False omdat zowel lijst1 als lijst2 lege lijsten zijn. Ten tweede als de voorwaarde Waar is, omdat twee lege lijsten zich op verschillende geheugenlocaties bevinden. Daarom verwijzen lijst1 en lijst2 naar verschillende objecten. We kunnen het controleren met de id()-functie in Python, die de identiteit van een object retourneert.
- De uitvoer van de derde als de voorwaarde is False omdat zowel lijst1 als lijst3 naar hetzelfde object verwijzen.
- De uitvoer van de vierde als de voorwaarde is True omdat de aaneenschakeling van twee lijsten altijd een nieuwe lijst oplevert.