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 używać tych operatorów, z mnóstwem przykładowego kodu.
W tym samouczku dowiesz się:
- składnia operatora nierównego (!=) i przypadków użycia,
- składnia operatora równości (==) z przykładami, oraz
- użycie operatorów is i nie służy do sprawdzania tożsamości dowolnych dwóch obiektów Pythona.
Zacznijmy.
Spis treści:
Składnia nierównych operatorów Pythona
W przypadku 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ładowy kod w newsblog.pl Python IDE — bezpośrednio z przeglądarki. Możesz też wybrać uruchomienie na komputerze lokalnym.
Ponieważ num1 = 27, a num2 również daje 27 (3*9 = 27), wartości num1 i num2 są równe. Tak więc operator != zwraca wartość 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ówny działa, sprawdzając wartości poszczególnych elementów. Na przykład dwie listy lista1 i lista2 — każda o długości n — są równe tylko wtedy, gdy lista1[i] == lista2[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 lista1 i lista2 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, jak 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 także użyć warunkowych w lista ze zrozumieniem gdy chcesz zachować tylko te elementy listy, które spełniają określony warunek. W poniższym przykładzie nieparzyste_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 odwrotny 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 operatora równości 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
Operator równości w Pythonie
Użyjmy teraz operatora równości w wyrażeniu warunkowym.
Uwaga: liczba podzielna 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 listu składanego Pythona, 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 jest 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 nie rozumiesz operatorów == 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 == zwraca 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 to 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.
Nawet jeśli str1 jest równe str2, str1 nie jest str2 ponieważ wskazują na dwa różne obiekty w pamięci. I dlatego mają różne tożsamości.
== i nie są takie same
W Pythonie możesz użyć ID() funkcja, 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 to 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ównych (==) i nierównych (!=) do sprawdzania, 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 jest i nie jest 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!🎉