Función id() de Python

Python3 内置函数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

# Ver el id de un entero
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:

  1. Cada objeto tiene un id único.
  2. El id de objetos distintos suele ser diferente.

Ejemplo 2: Verificar la identidad de objetos

Ejemplo

# Múltiples referencias al mismo objeto
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

# Verificar si es el mismo objeto
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.


Python3 内置函数Funciones integradas de Python3


Otras extensiones