Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Ідентичність проти рівності | Булеві Значення та Порівняння
Типи даних у Python

bookІдентичність проти рівності

Свайпніть щоб показати меню

Дізнайтеся різницю між ідентичністю та рівністю в Python. Ідентичність перевіряє, чи дві змінні посилаються на той самий об'єкт у пам'яті, тоді як рівність порівнює, чи мають два об'єкти однакове значення. Розуміння цієї відмінності є ключовим для написання коректних умов, валідацій та логіки обробки даних.

Що таке is?

  • is перевіряє ідентичність об'єкта, тобто чи дві змінні вказують на той самий об'єкт у пам'яті;
  • == перевіряє рівність значень, тобто чи мають два об'єкти однаковий вміст.
12345678
# Comparing two shopping carts in an online store cart_today = ["milk", "bread"] cart_yesterday = ["milk", "bread"] shared_cart = cart_today print(cart_today == cart_yesterday) # True → same items print(cart_today is cart_yesterday) # False → two separate cart objects print(cart_today is shared_cart) # True → both refer to the same cart
copy

Коли використовувати is та коли уникати його

  • Використовуйте is для порівняння з синглтонами, такими як None;
12345
# Checking if the user has entered their phone number user_phone = None if user_phone is None: print("No phone number provided yet")
copy
  • is not — це перевірка на відсутність ідентичності;
12345
# Checking if the user's age is stored in the system user_age = 64 if user_age is not None: print(f"User age is recorded: {user_age}")
copy
  • Уникайте використання is для перевірки рівності між числами або рядками. Через внутрішнє кешування/інтернування, ідентичність може іноді "працювати", але це ненадійно для різних запусків і середовищ, використовуйте == замість цього;
123456789101112
# Comparing user IDs and usernames in a system user_id_a = 256 user_id_b = 256 print(user_id_a == user_id_b) # True → same user ID value print(user_id_a is user_id_b) # May appear True, but identity check is unreliable for numbers username_a = "hello" username_b = "he" + "llo" print(username_a == username_b) # True → same text print(username_a is username_b) # Avoid using 'is' for string comparison (implementation detail)
copy
  • Для булевих значень віддавайте перевагу перевіркам істинності.
12345
# Checking if dark mode is enabled in user settings dark_mode_enabled = True if dark_mode_enabled: # clearer than: if dark_mode_enabled is True print("Dark mode is ON")
copy

1. Заповніть пропуски is або ==:

2. Який правильний спосіб перевірити на "відсутність значення"?

3. Яке твердження є рекомендованим?

question-icon

Заповніть пропуски is або ==:

Use to check if two variables point to the same object.
Use
to check if two values have the same contents.

Click or drag`n`drop items and fill in the blanks

question mark

Який правильний спосіб перевірити на "відсутність значення"?

Виберіть правильну відповідь

question mark

Яке твердження є рекомендованим?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 3

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 2. Розділ 3
some-alt