Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Identidad vs Igualdad | Booleanos y Comparaciones
Tipos de Datos en Python

bookIdentidad vs Igualdad

Este capítulo distingue la identidad de la igualdad. La identidad determina si dos variables hacen referencia al mismo objeto en memoria; la igualdad determina si dos objetos tienen el mismo valor. Comprender esta distinción es esencial para escribir condicionales, validaciones y lógica de procesamiento de datos correctos.

¿Qué es is?

  • is verifica la identidad del objeto — si dos variables apuntan al mismo objeto en memoria;
  • == verifica la igualdad de valores — si dos objetos tienen los mismos contenidos.
1234567
a = [1, 2] b = [1, 2] c = a print(a == b) # True - same contents print(a is b) # False - different list objects print(a is c) # True - c refers to the very same list as a
copy

Cuándo usar is y cuándo evitarlo

  • Usar is al comparar con singletons como None;
123
value = None if value is None: print("No value")
copy
  • is not es la comprobación de identidad negada;
123
var = 64 if var is not None: print("var has a value: ", var)
copy
  • Evitar el uso de is para comprobar la igualdad entre números o cadenas. Debido al almacenamiento en caché/internamiento interno, la identidad puede parecer que "funciona" a veces, pero no es fiable entre diferentes ejecuciones y entornos; utilizar == en su lugar.
123456789
x = 256 y = 256 print(x == y) # True (same value) print(x is y) # May appear True; do not rely on identity here s1 = "hello" s2 = "he" + "llo" print(s1 == s2) # True print(s1 is s2) # Implementation detail; avoid using is here
copy
  • Para booleanos, preferir comprobaciones de veracidad.
123
flag = True if flag: # clearer than: if flag is True print("flag is True")
copy

1. Rellena los espacios en blanco con is o ==:

2. ¿Cuál es la forma correcta de comprobar si hay "ningún valor"?

3. ¿Qué afirmación es la recomendada?

question-icon

Rellena los espacios en blanco con is o ==:

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

¿Cuál es la forma correcta de comprobar si hay "ningún valor"?

Select the correct answer

question mark

¿Qué afirmación es la recomendada?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 3

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

Can you explain more about why using `is` with numbers or strings is unreliable?

When should I use `==` instead of `is` in my code?

Can you give more examples of identity vs equality in Python?

Awesome!

Completion rate improved to 5

bookIdentidad vs Igualdad

Desliza para mostrar el menú

Este capítulo distingue la identidad de la igualdad. La identidad determina si dos variables hacen referencia al mismo objeto en memoria; la igualdad determina si dos objetos tienen el mismo valor. Comprender esta distinción es esencial para escribir condicionales, validaciones y lógica de procesamiento de datos correctos.

¿Qué es is?

  • is verifica la identidad del objeto — si dos variables apuntan al mismo objeto en memoria;
  • == verifica la igualdad de valores — si dos objetos tienen los mismos contenidos.
1234567
a = [1, 2] b = [1, 2] c = a print(a == b) # True - same contents print(a is b) # False - different list objects print(a is c) # True - c refers to the very same list as a
copy

Cuándo usar is y cuándo evitarlo

  • Usar is al comparar con singletons como None;
123
value = None if value is None: print("No value")
copy
  • is not es la comprobación de identidad negada;
123
var = 64 if var is not None: print("var has a value: ", var)
copy
  • Evitar el uso de is para comprobar la igualdad entre números o cadenas. Debido al almacenamiento en caché/internamiento interno, la identidad puede parecer que "funciona" a veces, pero no es fiable entre diferentes ejecuciones y entornos; utilizar == en su lugar.
123456789
x = 256 y = 256 print(x == y) # True (same value) print(x is y) # May appear True; do not rely on identity here s1 = "hello" s2 = "he" + "llo" print(s1 == s2) # True print(s1 is s2) # Implementation detail; avoid using is here
copy
  • Para booleanos, preferir comprobaciones de veracidad.
123
flag = True if flag: # clearer than: if flag is True print("flag is True")
copy

1. Rellena los espacios en blanco con is o ==:

2. ¿Cuál es la forma correcta de comprobar si hay "ningún valor"?

3. ¿Qué afirmación es la recomendada?

question-icon

Rellena los espacios en blanco con is o ==:

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

¿Cuál es la forma correcta de comprobar si hay "ningún valor"?

Select the correct answer

question mark

¿Qué afirmación es la recomendada?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 3
some-alt