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

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.

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