Función id() de Python
Funciones integradas de Python3
id()Es una función integrada de Python utilizada para obtener el identificador único de un objeto.
En Python, cada objeto tiene un identificador entero único, que es único y constante a lo largo del ciclo de vida del objeto.id()Devuelve este identificador, que generalmente corresponde a la dirección de memoria del objeto.
Definición de la palabra: idSíidentifierAbreviatura de (identificador).
Sintaxis básica y parámetros
Formato de sintaxis
id(object)
Descripción de parámetros
- Parámetro object:
- Tipo: cualquier objeto
- Descripción: el objeto del que se desea obtener el identificador.
Descripción de la función
- Valor de retorno: Devuelve un entero que representa el identificador único del objeto.
- Características: Durante el ciclo de vida del objeto, el id permanece constante.
Ejemplos
Ejemplo 1: Uso básico
Ejemplo
a = 10
print(id(a)) # Salida: un entero, como 4302400000
# Ver el id de una cadena
s = "hello"
print(id(s)) # Salida: un entero
# Ver el id de una lista
lst = [1, 2, 3]
print(id(lst)) # Salida: un entero
Resultado esperado de ejecución:
Devuelve el identificador único (entero) del objeto.
Análisis del código:
- Cada objeto tiene un id único.
- El id de objetos distintos suele ser diferente.
Ejemplo 2: Verificar la identidad de objetos
Ejemplo
a = [1, 2, 3]
b = a
print(id(a) == id(b)) # Salida: True (a y b apuntan al mismo objeto)
# Copiar objeto
a = [1, 2, 3]
b = a.copy()
print(id(a) == id(b)) # Salida: False (a y b son objetos diferentes)
# Caché de enteros (enteros pequeños)
a = 256
b = 256
print(id(a) == id(b)) # Salida: True (los enteros pequeños se almacenan en caché)
a = 257
b = 257
print(id(a) == id(b)) # Salida: False (los enteros grandes no se almacenan en caché)
Resultado esperado de ejecución:
True False True False
Análisis del código:
- Usar
==comparar id permite determinar si son el mismo objeto. - Python almacena en caché los enteros pequeños (de -5 a 256), por lo que las variables con el mismo valor pueden compartir el id.
Ejemplo 3: Aplicación práctica
Ejemplo
def check_same_object(a, b):
return id(a) == id(b)
# Prueba
list1 = [1, 2, 3]
list2 = list1
list3 = [1, 2, 3]
print(check_same_object(list1, list2)) # Salida: True
print(check_same_object(list1, list3)) # Salida: False
# Como clave de diccionario (aunque no es común)
d = {}
obj = object()
d[obj] = "value"
print(d[obj]) # Salida: value
# Ver el objeto al depurar
class Person:
pass
p = Person()
print(f"id del objeto: {id(p)}")
print(f"id de la clase: {id(Person)}")
Resultado esperado de ejecución:
True False value 对象 id: ... 类 id: ...
id()Se usa principalmente para depuración, verificación de identidad de objetos, comprensión de la gestión de memoria de Python, entre otros.
Funciones integradas de Python3
Otras extensiones