Fonction id() de Python

Python3 内置函数Fonctions intégrées de Python3


id()C'est une fonction intégrée de Python utilisée pour obtenir l'identifiant unique d'un objet.

En Python, chaque objet possède un identifiant entier unique, qui est unique et constant pendant toute la durée de vie de l'objet.id()Il renvoie cet identifiant, qui correspond généralement à l'adresse mémoire de l'objet.

Définition du mot: idOuiidentifierAbréviation de (identifiant).


Syntaxe de base et paramètres

Format de syntaxe

id(object)

Description du paramètre

  • Paramètre object:
    • Type : Tout objet
    • Description : L'objet dont l'identifiant doit être obtenu.

Description de la fonction

  • Valeur de retour: Renvoie un entier représentant l'identifiant unique de l'objet.
  • Caractéristiques: L'id reste constant tout au long de la durée de vie de l'objet.

Exemples

Exemple 1 : Utilisation de base

Exemple

# Afficher l'id d'un entier
a = 10
print(id(a))  # Sortie : un entier, par ex. 4302400000

# Afficher l'id d'une chaîne
s = "hello"
print(id(s))  # Sortie : un entier

# Afficher l'id d'une liste
lst = [1, 2, 3]
print(id(lst))  # Sortie : un entier

Sortie attendue :

Renvoie l'identifiant unique de l'objet (un entier).

Analyse du code :

  1. Chaque objet a un id unique.
  2. Différents objets ont généralement des id différents.

Exemple 2 : Vérifier l'identité d'un objet

Exemple

# Même objet référencé plusieurs fois
a = [1, 2, 3]
b = a
print(id(a) == id(b))  # Sortie : True (a et b pointent vers le même objet)

# Copier un objet
a = [1, 2, 3]
b = a.copy()
print(id(a) == id(b))  # Sortie : False (a et b sont des objets différents)

# Mise en cache des entiers (petits entiers)
a = 256
b = 256
print(id(a) == id(b))  # Sortie : True (les petits entiers sont mis en cache)

a = 257
b = 257
print(id(a) == id(b))  # Sortie : False (les grands entiers ne sont pas mis en cache)

Sortie attendue :

True
False
True
False

Analyse du code :

  • Utiliser==Comparer les id permet de déterminer s'il s'agit du même objet.
  • Python met en cache les petits entiers (-5 à 256), donc des variables ayant la même valeur peuvent partager le même id.

Exemple 3 : Application pratique

Exemple

# Vérifier s'il s'agit du même objet
def check_same_object(a, b):
    return id(a) == id(b)

# Test
list1 = [1, 2, 3]
list2 = list1
list3 = [1, 2, 3]

print(check_same_object(list1, list2))  # Sortie : True
print(check_same_object(list1, list3))  # Sortie : False

# Utiliser comme clé de dictionnaire (bien que peu courant)
d = {}
obj = object()
d[obj] = "value"
print(d[obj])  # Sortie : value

# Afficher les objets pendant le débogage
class Person:
    pass

p = Person()
print(f"ID de l'objet : {id(p)}")
print(f"ID de la classe : {id(Person)}")

Sortie attendue :

True
False
value
对象 id: ...
类 id: ...

id()Principalement utilisé pour le débogage, la vérification de l'identité des objets, la compréhension de la gestion de la mémoire de Python et d'autres aspects.


Python3 内置函数Fonctions intégrées de Python3


Autres extensions