Comprobaciones de identidad
Parte de la sección Logic & Flow del Journey de Python de Coddy — lección 26 de 78.
En Python, los operadores is e is not se utilizan para comprobar la identidad de los objetos. A diferencia del operador ==, que comprueba si dos variables tienen el mismo valor, el operador is comprueba si dos variables se refieren exactamente al mismo objeto en memoria.
Uso básico de is:
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b) # Salida: True
print(a is c) # Salida: FalseEn este ejemplo, a y b se refieren al mismo objeto de lista, por lo que a is b devuelve True. Sin embargo, a y c son objetos de lista diferentes con los mismos valores, por lo que a is c devuelve False.
Uso básico de is not:
x = 5
y = 5
z = 10
print(x is not y) # Salida: False
print(x is not z) # Salida: TrueAquí, x e y se refieren al mismo objeto entero (debido a las optimizaciones de Python para enteros pequeños), por lo que x is not y devuelve False. x y z son objetos diferentes, por lo que x is not z devuelve True.
Las comprobaciones de identidad son particularmente útiles cuando se desea determinar si dos variables apuntan al mismo objeto en memoria, en lugar de simplemente tener el mismo valor.
Desafío
FácilCrea dos variables, list1 y list2, donde:
list1hace referencia a una lista[1, 2, 3].list2se asigna al mismo objeto.
Usa el operador is para comprobar si list1 y list2 hacen referencia al mismo objeto.
Usa el operador is not para comprobar si list1 y list2 hacen referencia a objetos diferentes.
Imprime los resultados de las comprobaciones.
Hoja de referencia
Los operadores is e is not comprueban la identidad del objeto en la memoria, no solo la igualdad de valores como ==.
Uso de is para comprobar si las variables se refieren al mismo objeto:
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b) # Salida: True
print(a is c) # Salida: FalseUso de is not para comprobar si las variables se refieren a objetos diferentes:
x = 5
y = 5
z = 10
print(x is not y) # Salida: False
print(x is not z) # Salida: TrueLas comprobaciones de identidad determinan si dos variables apuntan al mismo objeto en la memoria, no solo si tienen el mismo valor.
Pruébalo tú mismo
# Escribe el código aquíEsta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Logic & Flow
1Exploración de variables
ConstantesAsignación de múltiples variablesIntercambio de variablesVariables de marcador de posiciónRedondear númerosCasting de listas4Aplicación de Agenda de Contactos
Mostrar MenúAgregar Contacto7Conjuntos Parte 2
Operaciones matemáticas Parte 1Operaciones matemáticas Parte 2Resumen - Búsqueda del tesoroSubconjuntos y superconjuntosIterar sobre conjuntosResumen - Rastreador de torneos10Comprensión de listas básica
La sintaxisCreación de listas simplesAñadir condicionesUso de agregación de datosResumen - La casa de las listasResumen - Elementos de libertad13Sistema de Gestión de Inventarios
Descripción general del proyectoAgregar artículo2Diccionarios Parte 1
¿Qué es un diccionario?Crear un diccionarioAcceder a los valoresModificar diccionariosResumen - Gestor de recetas5Toma de decisiones avanzada
Operador ternarioComprobaciones de pertenenciaComprobaciones de identidadErrores de sangríaRepaso - Filtro de vacaciones8Gestor de registros de estudiantes
Descripción general del proyectoAñadir estudiante11Funciones avanzadas
Retornar múltiples valoresFunciones Lambda Parte 1Funciones Lambda Parte 2Desafío de repaso - Lambda SortFunciones recursivas Parte 1Funciones recursivas Parte 2Repaso - Sumar listas anidadas14Funciones de orden superior
La función MapLa función FilterRepaso - Validador de emailsRepaso - Procesador de números3Diccionarios Parte 2
Métodos de diccionariosDiccionarios anidadosVerificación de clavesIterar sobre diccionariosResumen - Contador de frecuencia6Conjuntos - Parte 1
¿Qué es un conjunto?Operaciones básicasMétodos de conjuntosResumen - Eliminar duplicados9Agregación de datos avanzada
Uso de SumBúsqueda de mínimo y máximoOrdenar datos de manera eficienteRepaso - Ordenador de diccionarios