Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Identidade vs Igualdade | Booleanos e Comparações
Tipos de Dados em Python

bookIdentidade vs Igualdade

Aprenda a diferença entre identidade e igualdade em Python. Identidade verifica se duas variáveis referenciam o mesmo objeto na memória, enquanto igualdade compara se dois objetos possuem o mesmo valor. Compreender essa distinção é fundamental para escrever condicionais, validações e lógicas de processamento de dados precisas.

O que é is?

  • is verifica a identidade do objeto, ou seja, se duas variáveis apontam para o mesmo objeto na memória;
  • == verifica a igualdade de valores, ou seja, se dois objetos possuem o mesmo conteúdo.
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

Quando Usar is e Quando Evitar

  • Usar is em comparações com singletons como 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 é a verificação de identidade negada;
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
  • Evitar o uso de is para verificar igualdade entre números ou strings. Devido ao cache interno/internamento, a identidade pode parecer "funcionar" às vezes, mas não é confiável em diferentes execuções e ambientes; utilize == em vez disso;
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
  • Para valores booleanos, prefira verificações de veracidade.
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. Preencha as lacunas com is ou ==:

2. Qual é a forma correta de testar para "nenhum valor"?

3. Qual afirmação é recomendada?

question-icon

Preencha as lacunas com is ou ==:

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

Clique ou arraste solte itens e preencha os espaços

question mark

Qual é a forma correta de testar para "nenhum valor"?

Select the correct answer

question mark

Qual afirmação é recomendada?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 3

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 3.45

bookIdentidade vs Igualdade

Deslize para mostrar o menu

Aprenda a diferença entre identidade e igualdade em Python. Identidade verifica se duas variáveis referenciam o mesmo objeto na memória, enquanto igualdade compara se dois objetos possuem o mesmo valor. Compreender essa distinção é fundamental para escrever condicionais, validações e lógicas de processamento de dados precisas.

O que é is?

  • is verifica a identidade do objeto, ou seja, se duas variáveis apontam para o mesmo objeto na memória;
  • == verifica a igualdade de valores, ou seja, se dois objetos possuem o mesmo conteúdo.
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

Quando Usar is e Quando Evitar

  • Usar is em comparações com singletons como 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 é a verificação de identidade negada;
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
  • Evitar o uso de is para verificar igualdade entre números ou strings. Devido ao cache interno/internamento, a identidade pode parecer "funcionar" às vezes, mas não é confiável em diferentes execuções e ambientes; utilize == em vez disso;
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
  • Para valores booleanos, prefira verificações de veracidade.
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. Preencha as lacunas com is ou ==:

2. Qual é a forma correta de testar para "nenhum valor"?

3. Qual afirmação é recomendada?

question-icon

Preencha as lacunas com is ou ==:

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

Clique ou arraste solte itens e preencha os espaços

question mark

Qual é a forma correta de testar para "nenhum valor"?

Select the correct answer

question mark

Qual afirmação é recomendada?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 3
some-alt