I Python kan du bruke operatorene ikke lik og lik til å sjekke om to Python-objekter har samme verdi. Denne opplæringen vil lære deg hvordan du bruker disse operatørene med mye eksempelkode.
I denne opplæringen lærer du:
- syntaksen til operatoren ikke lik (!=) og brukstilfeller,
- syntaksen til lik operatoren (==) med eksempler, og
- bruken av er og er ikke operatører for å sjekke identiteten til to Python-objekter.
La oss komme i gang.
Innholdsfortegnelse
Python Not Equal Operator Syntaks
For alle to Python-objekter obj1 og obj2 , er den generelle syntaksen for å bruke ikke lik-operatoren:
<obj1> != <obj2>
- returnerer True når verdiene til obj1 og obj2 ikke er like, og
- returnerer False ellers.
Merk: Som nevnt ovenfor kan obj1 og obj2 være heltall, flyttall, strenger, lister og så videre.
Python Not Equal Operator Code Eksempler
I denne delen, la oss kode noen eksempler for å forstå den ikke like operatøren bedre.
Bruker Python Not Equal Operator for sammenligning
Her er vårt første eksempel.
num1 = 27 num2 = 3*9 num1 != num2 # Output: False
Du kan kjøre kodeeksemplene på tipsbilk.net Python IDE – rett fra nettleseren din. Eller du kan velge å kjøre på din lokale maskin.
Siden num1 = 27, og num2 også evalueres til 27 (3*9 = 27), er verdiene til num1 og num2 like. Så !=-operatøren returnerer False.
La oss ta et annet eksempel.
I koden nedenfor er num1 satt til 7. Og num2 er satt til strengen 7. Siden de er av forskjellige datatyper, returnerer ikke lik operatoren True.
num1 = 7 num2 = "7" num1 != num2 # Output: True
Du kaster strengen til et heltall, som vist:
num1 = 7 num2 = int("7") num1 != num2 # Output: False
I dette tilfellet kan du se at det returnerte resultatet er usann – siden num1 og num2 nå er lik heltallet 7.
Du kan også bruke ikke-lik-operatoren med Python-samlinger som lister, tupler og sett.
Merk: For samlinger av data som lister, fungerer ikke-lik-operatoren ved å sjekke verdiene til individuelle elementer. For eksempel er to lister liste1 og liste2 – hver med lengde n – like bare hvis liste1[i] == liste2[i] for i i {0,1,2,3,..n-1}.
Her er et eksempel:
list1 = [2,4,6,8] list2 = [2,4,6,9] list1 != list2 # Output: True
I eksemplet ovenfor skiller liste1 og liste2 seg med bare ett element. Og operatoren ikke lik != returnerer True som forventet.
Bruk av Python Not Equal Operator i betingelser
Du vil ofte bruke operatoren ikke lik som en del av Python-betingelsene.
For eksempel viser kodebiten nedenfor hvordan du kan sjekke om et tall er oddetall eller ikke.
Et tall som ikke er delelig med 2 er oddetall. Og dette reduseres til betingelsen num%2 != 0.
num = 7 if(num%2 != 0): print("The number is odd.") else: print("The number is even.") # Output: The number is odd.
Du kan også bruke betingelser i listeforståelser når du ønsker å beholde bare de listeelementene som oppfyller en bestemt betingelse. I eksemplet nedenfor er oddetall_10 listen over alle oddetall mindre enn 10.
odd = [num for num in range(10) if num%2 != 0] print(odd) # Output: [1, 3, 5, 7, 9]
Og det fullfører vår diskusjon om den ikke likeverdige (!=) operatoren.✅
Som du kanskje har gjettet nå, gir lik til-operatoren den motsatte effekten av ikke-lik-operatoren.
Du vil lære mer om det i neste avsnitt.
Python Equal Operator Syntaks
Her er syntaksen for å bruke Pythons lik operator:
<obj1> == <obj2> #where <obj1> and <obj2> are valid Python objects
- returnerer True når verdiene til obj1 og obj2 er like, og
- returnerer False ellers.
Python Equal Operator Code Eksempler
Lik-operatoren (==) kan brukes veldig likt ikke-lik-operatoren.
La oss kode følgende eksempler:
- for å sjekke om to strenger er like,
- for å sjekke om et tall er partall, og
- å bruke vilkår i listeforståelse
Bruker Python Not Equal Operator for sammenligning
I kodebiten nedenfor er str1 og str2 like når det gjelder verdi. Så lik operatoren (==) returnerer True.
str1 = "coding" str2 = "coding" str1 == str2 # Output: True
Python Equal Operator
La oss nå bruke lik operatoren i et betinget uttrykk.
Merk: Et tall som er jevnt delelig med 2 er partall. Og i kode reduseres dette til betingelsen num%2 == 0
num = 10 if(num%2 == 0): print("The number is even.") else: print("The number is odd.") # Output: The number is even.
La oss nå bygge videre på dette eksemplet, bruk Pythons listeforståelse for å få alle partall mindre enn 10.
even_10 = [num for num in range(10) if num%2 == 0] print(even_10) # Output: [0, 2, 4, 6, 8]
I eksemplet ovenfor,
- range(10) returnerer et områdeobjekt som kan sløyfes for å få alle heltall fra 0 til 9.
- Betingelsen num%2 == 0 er sann bare for partall.
- Så even_10 er listen over alle partall mindre enn 10.
Så langt har du lært hvordan du sjekker for likhet ved å bruke operatorene ikke lik (!=) og lik (==).
I neste avsnitt lærer du hvordan du bekrefter identiteten til to objekter. Du vil sjekke om to Python-objekter er identiske.
Hvordan bruke Pythons er og er ikke operatører
Hvis du er en nybegynner i Python-programmering, er det mulig at du er forvirret mellom == og er-operatørene. La oss avklare det i denne delen.
I forrige seksjon hadde vi et eksempel der str1 og str2 hvor lik og ==-operatoren returnerte True.
Kjør nå følgende kodebit.
str1 = "coding" str2 = "coding" str1 is str2 # Output: False
Du kan se at str1 er str2 returnerer False.
La oss ta et skritt tilbake og forstå hva Pythons operatør gjør.
Operatoren er opererer på to vilkårlige Python-objekter.
Og returnerer True bare hvis de to objektene er identiske – det vil si at de refererer til det samme objektet i minnet.
Selv om str1 er lik str2, er str1 ikke str2 da de peker på to forskjellige objekter i minnet. Og derfor har de forskjellige identiteter.
== og er er IKKE det samme
I Python kan du bruke id() funksjon for å få identiteten til objektet.
▶ Kjør følgende kodecelle for å få identiteten til str1 og str2.
id(str1) # Sample output: 139935398870320 id(str2) # Sample output: 139935398871344
Som du kan se, har str1 og str2 forskjellige identiteter. Og str1 er str2 returnerer False som forventet.
Sette det sammen,
<obj1> is <obj2> # returns True if and only if id(<obj1>) == id(<obj2>) # returns True
La oss raskt bekrefte dette, som vist:
str1 = "coding" str2 = str1 print(str1 is str2) print(id(str1) == id(str2)) # Output True True
Intuitivt gjør ikke-operatøren det motsatte av er-operatøren.
Operatoren er ikke opererer på to Python-objekter.
Og returnerer False bare hvis de to objektene er identiske – det vil si at de refererer til det samme objektet i minnet. Ellers returnerer den True.
I kodeeksemplene ovenfor, prøv å erstatte er med er ikke og sjekk resultatene.
Konklusjon 👩💻
Håper du fant denne opplæringen nyttig.
For å oppsummere, har du lært:
- hvordan du bruker like (==) og ikke like (!=)-operatorer for å sjekke om to Python-objekter har samme verdi,
- forskjellen mellom likhet og identitet til Python-objekter, og
- hvordan Python er og ikke er, hjelper operatørene å sjekke om to Python-objekter er identiske.
Lær hvordan du beregner tidsforskjell eller lager et slangespill i python her.
Vi sees alle i neste veiledning. Inntil da, god læring og koding!🎉