Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Ідентичність проти рівності | Булеві Значення та Порівняння
Quizzes & Challenges
Quizzes
Challenges
/
Типи даних у 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.

Натисніть або перетягніть елементи та заповніть пропуски

question mark

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

Select the correct answer

question mark

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

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Awesome!

Completion rate improved to 3.45

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.

Натисніть або перетягніть елементи та заповніть пропуски

question mark

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

Select the correct answer

question mark

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

Select the correct answer

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

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

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

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