Jak używać nierównych i równych operatorów Pythona

Opublikowany: 2022-01-29

W Pythonie możesz użyć operatorów nierównych i równych , aby sprawdzić, czy dwa obiekty Pythona mają tę samą wartość. Ten samouczek nauczy Cię, jak korzystać z tych operatorów, z dużą ilością przykładowego kodu.

W tym samouczku dowiesz się:

  • składnia operatora nierówne ( != ) i przypadki użycia,
  • składnia operatora równości ( == ) z przykładami, oraz
  • użycie operatorów is i is not do sprawdzania tożsamości dowolnych dwóch obiektów Pythona.

Zacznijmy.

Składnia nierównych operatorów Pythona

Dla dowolnych dwóch obiektów Pythona obj1 i obj2 ogólna składnia użycia operatora nierównego to:

 <obj1> != <obj2>
  • zwraca True , gdy wartości obj1 i obj2 nie są równe, oraz
  • w przeciwnym razie zwraca False .

Uwaga : Jak wspomniano powyżej, obj1 i obj2 mogą być liczbami całkowitymi, liczbami zmiennoprzecinkowymi, łańcuchami, listami i tak dalej.

Przykłady kodu nierównych operatorów w języku Python

W tej sekcji zakodujmy kilka przykładów, aby lepiej zrozumieć operator nierówny .

Używanie operatora nierównego Pythona do porównania

Oto nasz pierwszy przykład.

 num1 = 27 num2 = 3*9 num1 != num2 # Output: False

Możesz uruchomić przykłady kodu w IDE Geekflare Python bezpośrednio z przeglądarki. Możesz też wybrać uruchomienie na komputerze lokalnym.

Ponieważ num1 = 27 , a num2 również oblicza 27 ( 3*9 = 27 ), wartości num1 i num2 są równe. Tak więc operator != zwraca False .

Weźmy inny przykład.

W poniższym kodzie num1 jest ustawione na 7. A num2 jest ustawione na łańcuch 7. Ponieważ są to różne typy danych, operator nierównych zwraca True .

 num1 = 7 num2 = "7" num1 != num2 # Output: True

Rzucasz ciąg na liczbę całkowitą, jak pokazano:

 num1 = 7 num2 = int("7") num1 != num2 # Output: False

W tym przypadku możesz zobaczyć, że zwrócony wynik to False — ponieważ num1 i num2 są teraz równe liczbie całkowitej 7.

Możesz również użyć operatora nierównego z kolekcjami Pythona, takimi jak listy, krotki i zestawy.

Uwaga : W przypadku zbiorów danych, takich jak listy, operator nierównych działa, sprawdzając wartości poszczególnych elementów. Na przykład dwie listy list1 i list2 — każda o długości n — są równe tylko wtedy, gdy list1[i] == list2[i] dla i w {0,1,2,3,..n-1} .

Oto przykład:

 list1 = [2,4,6,8] list2 = [2,4,6,9] list1 != list2 # Output: True

W powyższym przykładzie list1 i list2 różnią się tylko jednym elementem. A operator nierówny != zwraca True zgodnie z oczekiwaniami.

Używanie operatora nierównego Pythona w warunkach warunkowych

Często będziesz używać operatora nierównego jako części warunków warunkowych Pythona.

Na przykład poniższy fragment kodu pokazuje, w jaki sposób możesz sprawdzić, czy liczba jest nieparzysta.

Liczba, która nie jest podzielna przez 2 jest nieparzysta . A to sprowadza się do warunku 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.

Możesz również używać warunkowych w listach składanych, gdy chcesz zachować tylko te elementy listy, które spełniają określony warunek. W poniższym przykładzie odd_10 to lista wszystkich liczb nieparzystych mniejszych niż 10.

 odd = [num for num in range(10) if num%2 != 0] print(odd) # Output: [1, 3, 5, 7, 9]

I to kończy naszą dyskusję na temat operatora nierównego ( != ).

Jak można się domyślić, operator równy daje efekt przeciwny do operatora nierównego.

Więcej na ten temat dowiesz się w następnej sekcji.

Składnia operatora równości w Pythonie

Oto składnia użycia operatora równego w Pythonie:

 <obj1> == <obj2>  #where <obj1> and <obj2> are valid Python objects
  • zwraca True , gdy wartości obj1 i obj2 są równe, oraz
  • w przeciwnym razie zwraca False .

Przykłady kodu z równymi operatorami w Pythonie

Operator równości ( == ) może być używany bardzo podobnie do operatora nierównego .

Zakodujmy następujące przykłady:

  • aby sprawdzić, czy dwa ciągi są równe,
  • aby sprawdzić, czy liczba jest parzysta, i
  • używać warunków warunkowych w zrozumieniu list

Używanie operatora nierównego Pythona do porównania

W poniższym fragmencie kodu str1 i str2 są równe pod względem wartości. Tak więc operator równości ( == ) zwraca True .

 str1 = "coding" str2 = "coding" str1 == str2 # Output: True
python jest równy operatorowi
Operator równości w Pythonie

Użyjmy teraz operatora równości w wyrażeniu warunkowym.

Uwaga : liczba podzielna równomiernie przez 2 jest parzysta . A w kodzie sprowadza się to do warunku 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.

Zbudujmy teraz ten przykład, użyjmy list składanych w Pythonie, aby uzyskać wszystkie liczby parzyste mniejsze niż 10.

 even_10 = [num for num in range(10) if num%2 == 0] print(even_10) # Output: [0, 2, 4, 6, 8]

W powyższym przykładzie

  • range(10) zwraca obiekt zakresu, przez który można przejść w pętli, aby uzyskać wszystkie liczby całkowite od 0 do 9.
  • Warunek num%2 == 0 to True tylko dla liczb parzystych.
  • A zatem even_10 to lista wszystkich liczb parzystych mniejszych od 10.

Do tej pory nauczyłeś się sprawdzać równość za pomocą operatorów nierównych ( != ) i równych ( == ).

W kolejnej sekcji dowiesz się, jak zweryfikować tożsamość dwóch obiektów. Sprawdzisz, czy dwa obiekty Pythona są identyczne .

Jak używać Pythona jest i nie jest operatorami

Jeśli jesteś początkującym programistą w Pythonie, możliwe, że mylisz się między operatorami == i is . Wyjaśnijmy to w tej sekcji.

W poprzedniej sekcji mieliśmy przykład, w którym str1 i str2 są równe, a operator == True .

Teraz uruchom następujący fragment kodu.

 str1 = "coding" str2 = "coding" str1 is str2 # Output: False

Możesz zobaczyć, że str1 is str2 zwraca False .

Cofnijmy się o krok i zrozummy, co robi operator is Python.

Operator is działa na dowolnych dwóch obiektach Pythona.
I zwraca True tylko wtedy, gdy oba obiekty są identyczne — to znaczy odnoszą się do tego samego obiektu w pamięci.

Mimo że str1 jest równe str2 , str1 nie jest str2 , ponieważ wskazuje na dwa różne obiekty w pamięci. I dlatego mają różne tożsamości.

python-jest-operatorem
== i nie są takie same

W Pythonie możesz użyć funkcji id() , aby uzyskać tożsamość obiektu.

Uruchom następującą komórkę kodu, aby uzyskać tożsamości str1 i str2 .

 id(str1) # Sample output: 139935398870320 id(str2) # Sample output: 139935398871344

Jak widać, str1 i str2 mają różne tożsamości. A str1 is str2 zwraca False zgodnie z oczekiwaniami.

Łącząc to w całość,

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

Zweryfikujmy to szybko, jak pokazano:

 str1 = "coding" str2 = str1 print(str1 is str2) print(id(str1) == id(str2)) # Output True True

Intuicyjnie operator is not działa odwrotnie niż operator is .

Operator is not działa na dowolnych dwóch obiektach Pythona.
I zwraca False tylko wtedy, gdy oba obiekty są identyczne — to znaczy odnoszą się do tego samego obiektu w pamięci. W przeciwnym razie zwraca True .

W powyższych przykładach kodu spróbuj zastąpić is with is not i sprawdź wyniki.

Wniosek

Mam nadzieję, że ten samouczek okazał się pomocny.

Podsumowując, nauczyłeś się:

  • jak używać operatorów równości ( == ) i nierównych ( != ) do sprawdzenia, czy dwa obiekty Pythona mają tę samą wartość,
  • różnica między równością i tożsamością obiektów Pythona oraz
  • jak Python is i is not operatorami pomaga w sprawdzeniu, czy dwa obiekty Pythona są identyczne.

Dowiedz się, jak obliczyć różnicę czasu lub stworzyć grę w węża w Pythonie tutaj.

Do zobaczenia w następnym samouczku. Do tego czasu miłej nauki i kodowania!