Sådan bruges Python Not Equal og Equal Operators

I Python kan du bruge operatorerne ikke lig med og lig med til at kontrollere, om to Python-objekter har samme værdi. Denne tutorial vil lære dig, hvordan du bruger disse operatorer med masser af eksempelkode.

I denne tutorial lærer du:

  • syntaksen for operatoren ikke ens (!=) og use cases,
  • syntaksen for lige-operatoren (==) med eksempler, og
  • brugen af ​​er og er ikke operatører til at kontrollere identiteten af ​​to Python-objekter.

Lad os komme igang.

Python Not Equal Operator Syntaks

For to vilkårlige Python-objekter obj1 og obj2 er den generelle syntaks for at bruge ikke-lig-operatoren:

<obj1> != <obj2>
  • returnerer Sand, når værdierne af obj1 og obj2 ikke er ens, og
  • returnerer Falsk ellers.

Bemærk: Som nævnt ovenfor kan obj1 og obj2 være heltal, flydende kommatal, strenge, lister og så videre.

Python Not Equal Operator Code Eksempler

Lad os i dette afsnit kode et par eksempler for bedre at forstå den ikke lige operator.

Brug af Python Not Equal Operator til sammenligning

Her er vores første eksempel.

num1 = 27
num2 = 3*9

num1 != num2

# Output: False

Du kan køre kodeeksemplerne på toadmin.dk Python IDE – direkte fra din browser. Eller du kan vælge at køre på din lokale maskine.

Da num1 = 27, og num2 også evalueres til 27 (3*9 = 27), er værdierne af num1 og num2 ens. Så operatoren != returnerer False.

Lad os tage et andet eksempel.

I koden nedenfor er num1 sat til 7. Og num2 er sat til strengen 7. Da de er af forskellige datatyper, returnerer den ikke lige operator True.

num1 = 7 
num2 = "7" 
num1 != num2 

# Output: True

Du kaster strengen til et heltal, som vist:

num1 = 7
num2 = int("7")

num1 != num2

# Output: False

I dette tilfælde kan du se, at det returnerede resultat er falsk – da num1 og num2 nu er lig med hele tallet 7.

  Sådan ændres dine Outlook.com-genveje til at matche Gmail eller Yahoo!

Du kan også bruge operatoren ikke lige med Python-samlinger såsom lister, tupler og sæt.

Bemærk: For indsamlinger af data, såsom lister, fungerer den ikke lige-operator ved at kontrollere værdierne for individuelle elementer. For eksempel er to lister liste1 og liste2 – hver af længden n – kun lige, 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 ovenstående eksempel adskiller liste1 og liste2 sig kun med ét element. Og operatoren ikke lig != returnerer True som forventet.

Brug af Python Not Equal Operator i Conditionals

Du vil ofte bruge operatoren ikke lig med som en del af Python conditionals.

For eksempel viser kodestykket nedenfor, hvordan du kan kontrollere, om et tal er ulige eller ej.

Et tal, der ikke er ligeligt deleligt med 2, er ulige. Og dette reducerer 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å bruge conditionals i listeforståelser når du kun vil beholde de listeelementer, der opfylder en bestemt betingelse. I eksemplet nedenfor er ulige_10 listen over alle ulige tal mindre end 10.

odd = [num for num in range(10) if num%2 != 0]
print(odd)

# Output: [1, 3, 5, 7, 9]

Og det fuldender vores diskussion af den ikke lige (!=) operator.✅

Som du måske har gættet nu, producerer lig med operatoren den modsatte effekt af ikke lig med operatoren.

  Sådan bevarer du formateringen af ​​et dokument, når du udgiver fra Google Docs

Du lærer mere om det i næste afsnit.

Python Equal Operator Syntaks

Her er syntaksen for at bruge Pythons lig med operator:

<obj1> == <obj2>  #where <obj1> and <obj2> are valid Python objects
  • returnerer Sand, når værdierne af obj1 og obj2 er ens, og
  • returnerer Falsk ellers.

Python Equal Operator Code Eksempler

Lige-operatoren (==) kan bruges meget på samme måde som den ikke-lige-operator.

Lad os kode følgende eksempler:

  • for at kontrollere, om to strenge er ens,
  • for at kontrollere om et tal er lige, og
  • at bruge conditionals i listeforståelse

Brug af Python Not Equal Operator til sammenligning

I kodestykket nedenfor er str1 og str2 ens med hensyn til værdi. Så den lige operator (==) returnerer Sand.

str1 = "coding"
str2 = "coding"

str1 == str2

# Output: True

Python Equal Operator

Lad os nu bruge lige-operatoren i et betinget udtryk.

Bemærk: Et tal, der er ligeligt deleligt med 2, er lige. Og i kode reduceres 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.

Lad os nu bygge videre på dette eksempel, brug Pythons listeforståelse for at få alle lige tal mindre end 10.

even_10 = [num for num in range(10) if num%2 == 0]
print(even_10)

# Output: [0, 2, 4, 6, 8]

I ovenstående eksempel,

  • range(10) returnerer et interval-objekt, som kan gennemløbes for at få alle heltal fra 0 til 9.
  • Betingelsen num%2 == 0 er kun Sand for lige tal.
  • Så lige_10 er listen over alle lige tal mindre end 10.

Indtil videre har du lært, hvordan du kontrollerer for lighed ved at bruge operatorerne ikke lige (!=) og lige (==).

I det næste afsnit lærer du, hvordan du bekræfter identiteten af ​​to objekter. Du vil kontrollere, om to Python-objekter er identiske.

Sådan bruges Pythons er og er ikke operatører

Hvis du er nybegynder i Python-programmering, er det muligt, at du er forvirret mellem == og er-operatorerne. Lad os præcisere det i dette afsnit.

  9 AWS SES integreret e-mailmarketingløsning til lavere omkostninger

I det foregående afsnit havde vi et eksempel, hvor str1 og str2 hvor lig og ==-operatoren returnerede Sand.

Kør nu følgende kodestykke.

str1 = "coding" 
str2 = "coding" 

str1 is str2 

# Output: False

Du kan se, at str1 er str2 returnerer False.

Lad os tage et skridt tilbage og forstå, hvad Pythons er operatør gør.

Operatoren er opererer på to vilkårlige Python-objekter.
Og returnerer kun Sand, hvis de to objekter er identiske – det vil sige, at de refererer til det samme objekt i hukommelsen.

Selvom str1 er lig med str2, er str1 ikke str2, da de peger på to forskellige objekter i hukommelsen. Og derfor har de forskellige identiteter.

== og er er IKKE det samme

I Python kan du bruge id() funktion for at få objektets identitet.

▶ Kør følgende kodecelle for at få identiteten af ​​str1 og str2.

id(str1)

# Sample output: 139935398870320

id(str2)

# Sample output: 139935398871344

Som du kan se, har str1 og str2 forskellige identiteter. Og str1 er str2 returnerer False som forventet.

At sætte det sammen,

<obj1> is <obj2> # returns True if and only if
id(<obj1>) == id(<obj2>) # returns True

Lad os hurtigt bekræfte dette, som vist:

str1 = "coding"
str2 = str1

print(str1 is str2)
print(id(str1) == id(str2))

# Output
True
True

Intuitivt gør ikke-operatøren det modsatte af er-operatøren.

Operatoren is not opererer på to vilkårlige Python-objekter.
Og returnerer kun Falsk, hvis de to objekter er identiske – det vil sige, at de refererer til det samme objekt i hukommelsen. Ellers returnerer den True.

I ovenstående kodeeksempler, prøv at erstatte er med er ikke og tjek resultaterne.

Konklusion 👩‍💻

Håber du fandt denne tutorial nyttig.

For at opsummere har du lært:

  • hvordan man bruger lige (==) og ikke lige (!=) operatorer til at kontrollere, om to Python-objekter har samme værdi,
  • forskellen mellem lighed og identitet af Python-objekter, og
  • hvordan Python’s er og ikke er, hjælper med at kontrollere, om to Python-objekter er identiske.

Lær hvordan du beregner tidsforskel eller laver et slangespil i python her.

Vi ses alle i den næste tutorial. Indtil da, god læring og kodning!🎉