Jak używać nierównych i równych operatorów Pythona
Opublikowany: 2022-01-29W 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
iis 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ściobj1
iobj2
nie są równe, oraz - w przeciwnym razie zwraca
False
.
Uwaga : Jak wspomniano powyżej,
obj1
iobj2
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
ilist2
— każda o długościn
— są równe tylko wtedy, gdylist1[i] == list2[i]
dlai
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ściobj1
iobj2
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

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
toTrue
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 zwracaTrue
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.

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 zwracaFalse
tylko wtedy, gdy oba obiekty są identyczne — to znaczy odnoszą się do tego samego obiektu w pamięci. W przeciwnym razie zwracaTrue
.
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
iis 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!