Hvordan bruke Python Not Equal og Equal Operators

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.

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.

  Slik kaster du Popcorn Time til Smart TV

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.

  Tilpassbar musikkspiller med equalizer og temaer

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.

  Fix C Drive fortsetter å fylles opp uten grunn

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!🎉