У Python ви можете використовувати оператори не дорівнює та дорівнює, щоб перевірити, чи мають два об’єкти Python однакові значення. Цей підручник навчить вас використовувати ці оператори з великою кількістю прикладів коду.
У цьому посібнику ви дізнаєтеся:
- синтаксис оператора нерівності (!=) і випадки використання,
- синтаксис оператора рівності (==) з прикладами та
- використання операторів is і is not для перевірки ідентичності будь-яких двох об’єктів Python.
Давайте розпочнемо.
Синтаксис оператора Python Not Equal
Для будь-яких двох об’єктів Python obj1 і obj2 загальний синтаксис використання оператора нерівності такий:
<obj1> != <obj2>
- повертає True, якщо значення obj1 і obj2 не рівні, і
- інакше повертає False.
Примітка. Як згадувалося вище, obj1 і obj2 можуть бути цілими числами, числами з плаваючою комою, рядками, списками тощо.
Приклади коду оператора Python Not Equal
У цьому розділі давайте напишемо кілька прикладів, щоб краще зрозуміти оператор нерівності.
Використання оператора Not Equal Python для порівняння
Ось наш перший приклад.
num1 = 27 num2 = 3*9 num1 != num2 # Output: False
Ви можете запустити приклади коду в techukraine.net Python IDE прямо з вашого браузера. Або ви можете вибрати запуск на локальній машині.
Оскільки num1 = 27, а num2 також дорівнює 27 (3*9 = 27), значення num1 і num2 рівні. Тому оператор != повертає значення False.
Візьмемо інший приклад.
У наведеному нижче коді для num1 встановлено значення 7. А для num2 встановлено значення рядка 7. Оскільки вони мають різні типи даних, оператор нерівності повертає значення True.
num1 = 7 num2 = "7" num1 != num2 # Output: True
Ви переводите рядок до цілого числа, як показано:
num1 = 7 num2 = int("7") num1 != num2 # Output: False
У цьому випадку ви бачите, що повернутий результат — False, оскільки num1 і num2 тепер дорівнюють цілому числу 7.
Ви також можете використовувати оператор нерівності з колекціями Python, такими як списки, кортежі та набори.
Примітка. Для колекцій даних, таких як списки, оператор notequal працює, перевіряючи значення окремих елементів. Наприклад, два списки list1 і list2 — кожен довжиною n — рівні, лише якщо list1[i] == список2[i] для i в {0,1,2,3,..n-1}.
Ось приклад:
list1 = [2,4,6,8] list2 = [2,4,6,9] list1 != list2 # Output: True
У наведеному вище прикладі list1 і list2 відрізняються лише одним елементом. А оператор not equal != повертає True, як і очікувалося.
Використання оператора Not Equal Python в умовних виразах
Ви часто використовуєте оператор не дорівнює як частину умовних виразів Python.
Наприклад, наведений нижче фрагмент коду показує, як можна перевірити, чи є число непарним.
Число, яке не ділиться на 2 навпіл, є непарним. І це зводиться до умови 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.
Ви також можете використовувати умови в розуміння списку коли ви хочете зберегти лише ті елементи списку, які відповідають певній умові. У прикладі нижче odd_10 — це список усіх непарних чисел, менших за 10.
odd = [num for num in range(10) if num%2 != 0] print(odd) # Output: [1, 3, 5, 7, 9]
І на цьому наше обговорення оператора нерівності (!=) завершується.✅
Як ви вже могли здогадатися, оператор дорівнює створює ефект, протилежний оператору не дорівнює.
Ви дізнаєтеся більше про це в наступному розділі.
Синтаксис оператора рівності Python
Ось синтаксис використання оператора рівності Python:
<obj1> == <obj2> #where <obj1> and <obj2> are valid Python objects
- повертає True, коли значення obj1 і obj2 рівні, і
- інакше повертає False.
Приклади коду оператора Equal Python
Оператор рівності (==) можна використовувати дуже подібно до оператора нерівності.
Давайте закодуємо наступні приклади:
- перевірити, чи рівні два рядки,
- щоб перевірити, чи число парне, і
- використовувати умовні під час розуміння списку
Використання оператора Not Equal Python для порівняння
У наведеному нижче фрагменті коду str1 і str2 однакові за значенням. Отже, оператор рівності (==) повертає True.
str1 = "coding" str2 = "coding" str1 == str2 # Output: True
Оператор рівняння Python
Давайте тепер використаємо оператор рівності в умовному виразі.
Примітка: число, яке рівномірно ділиться на 2, є парним. А в коді це зводиться до умови 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.
Давайте тепер розглянемо цей приклад, скористаємося розумінням списку Python, щоб отримати всі парні числа, менші за 10.
even_10 = [num for num in range(10) if num%2 == 0] print(even_10) # Output: [0, 2, 4, 6, 8]
У наведеному вище прикладі
- range(10) повертає об’єкт діапазону, який можна прокрутити, щоб отримати всі цілі числа від 0 до 9.
- Умова num%2 == 0 вірна лише для парних чисел.
- Отже, парний_10 — це список усіх парних чисел, менших за 10.
Поки що ви навчилися перевіряти рівність за допомогою операторів не рівно (!=) і рівно (==).
У наступному розділі ви дізнаєтесь, як перевірити ідентичність двох об’єктів. Ви перевірите, чи ідентичні два об’єкти Python.
Як використовувати оператори Python є і не є
Якщо ви новачок у програмуванні на Python, можливо, ви плутаєтесь між операторами == та is. Давайте уточнимо це в цьому розділі.
У попередньому розділі ми мали приклад, де str1 і str2 були рівними, а оператор == повертав True.
Тепер запустіть наступний фрагмент коду.
str1 = "coding" str2 = "coding" str1 is str2 # Output: False
Ви бачите, що str1 як str2 повертає False.
Давайте зробимо крок назад і зрозуміємо, що робить оператор is Python.
Оператор is діє на будь-яких двох об’єктах Python.
І повертає True, лише якщо два об’єкти ідентичні, тобто вони посилаються на той самий об’єкт у пам’яті.
Незважаючи на те, що str1 дорівнює str2, str1 не є str2, оскільки вони вказують на два різні об’єкти в пам’яті. І тому вони мають різні ідентичності.
== і є НЕ те саме
У Python ви можете використовувати id() функція для отримання ідентичності об’єкта.
▶ Запустіть наступну комірку коду, щоб отримати ідентифікатори str1 і str2.
id(str1) # Sample output: 139935398870320 id(str2) # Sample output: 139935398871344
Як бачите, str1 і str2 мають різні ідентичності. І str1 є str2 повертає False, як очікувалося.
Зібравши це разом,
<obj1> is <obj2> # returns True if and only if id(<obj1>) == id(<obj2>) # returns True
Давайте швидко перевіримо це, як показано:
str1 = "coding" str2 = str1 print(str1 is str2) print(id(str1) == id(str2)) # Output True True
Інтуїтивно зрозуміло, що оператор is not діє протилежно оператору is.
Оператор is not працює з будь-якими двома об’єктами Python.
І повертає False, лише якщо два об’єкти ідентичні, тобто вони посилаються на той самий об’єкт у пам’яті. В іншому випадку він повертає True.
У наведених вище прикладах коду спробуйте замінити is на is not і перевірте результати.
Висновок 👩💻
Сподіваюся, цей посібник був для вас корисним.
Підводячи підсумок, ви дізналися:
- як використовувати оператори рівно (==) і не рівно (!=), щоб перевірити, чи два об’єкти Python мають однакове значення,
- різниця між рівністю та ідентичністю об’єктів Python, і
- як оператори Python є і не є, допомагають перевірити, чи ідентичні два об’єкти Python.
Дізнайтеся, як розрахувати різницю в часі або створити гру «змійка» на Python тут.
До зустрічі в наступному підручнику. А поки приємного навчання та програмування!🎉