Tässä artikkelissa aiomme nähdä != (Ei yhtäläiset) operaattorit. Pythonissa != määritellään nimellä ei sama kuin operaattori. Se palaa Totta jos operandit kummallakin puolella eivät ole keskenään samanarvoisia, ja palauttaa Väärä jos ne ovat samanarvoisia. Sitä vastoin ei ole operaattori tarkistaa, onko kahden objektin id() sama vai ei. Jos sama, se palaa Väärä ja jos ei ole sama, se palaa Totta. Ja ei ole operaattori palauttaa True, jos kummankaan puolen operandit eivät ole keskenään yhtä suuria, ja palauttaa epätosi, jos ne ovat yhtä suuret.
Ymmärrämme käsitteet yksitellen:
Esimerkki 1:
Python 3
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))> |
>
>
Lähtö:
False 140733278626480 140733278626480 False 2693154698864 2693154698864 True 2693232342792 2693232342600>
Selitys:
- Ensin kokonaislukutiedoilla tulos oli epätosi, koska molemmat muuttujat a, b viittaavat samaan dataan 10.
- Toiseksi merkkijonodatalla tulos oli epätosi, koska molemmat muuttujat c, d viittaavat samaan Python-dataan.
- Kolmanneksi listatiedoilla tulos oli tosi, koska muuttujilla e, f on eri muistiosoite. (Vaikka molemmilla muuttujilla on samat tiedot)
Esimerkki 2:
!= määritellään nimellä ei sama kuin operaattori. Se palaa Totta jos operandit kummallakin puolella eivät ole keskenään samanarvoisia, ja palauttaa Väärä jos ne ovat samanarvoisia.
Python 3
# 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))> |
merkkijonon alimerkkijono
>
>
Lähtö:
False 140733278626480 140733278626480 False 2693154698864 2693154698864 False 2693232369224 2693232341064>
Esimerkki 3:
The != operaattori vertaa kahden objektin arvoa tai yhtäläisyyttä, kun taas Python ei ole operaattori tarkistaa, osoittavatko kaksi muuttujaa samaan muistissa olevaan objektiin.
Python 3
# 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'>)> |
>
>
Lähtö:
First else Condition False Second if Condition True Third else Condition False Fourth if Condition True>
Selitys:
- Tuotos ensin jos ehto on epätosi, koska sekä lista1 että lista2 ovat tyhjiä listoja. Toinen, jos ehto näyttää True, koska kaksi tyhjää listaa ovat eri muistipaikoissa. Tästä syystä lista1 ja lista2 viittaavat eri objekteihin. Voimme tarkistaa sen id()-funktiolla pythonissa, joka palauttaa objektin identiteetin.
- Tuotos kolmas jos ehto on False, koska sekä lista1 että lista3 osoittavat samaan objektiin.
- Tuotos neljäs jos ehto on tosi, koska kahden listan ketjuttaminen tuottaa aina uuden listan.