Python >> Tutoriel Python >  >> Python

Fonction Python id()

id(object) intégré de Python La fonction prend un objet Python comme entrée et renvoie l'identité d'un objet qui est un entier statique et unique. L'identité est statique, elle ne change jamais tout au long de l'exécution du programme, et unique, aucun autre objet n'a la même identité. Il est implémenté en cPython en retournant l'adresse de l'objet en mémoire.

>>> x = [1, 2, 3]
>>> id(x)
2205705788488
>>> id(x) == id([1, 2, 3])
False

Vidéo Python id()

Syntaxe et exemples Python id()

Argumentation object Un objet Python pour lequel l'identité doit être renvoyée.
Valeur de retour int Un nombre entier associé à l'objet qui est statique et unique.
Input : id('42')
Output : 3033433182136

Input : id(42)
Output : 140725259659376

Input : id(43)
Output : 140725259659408

Input : id(3.41)
Output : 3033419857088

Input : id([1, 2, 3])
Output : 3033433284680

Input : id([1, 2, 3])
Output : 3033433132552

Vous pouvez voir dans les deux derniers exemples que si vous créez deux objets de liste identiques, l'id est toujours différent car ce sont des objets différents en mémoire.

Python id() pour vérifier la même référence d'objet

Une utilisation fréquente de la fonction id() consiste à vérifier si deux ou plusieurs variables font référence au même objet en mémoire.

a = 5
b = a
c = a

print(id(a))
print(id(b))
print(id(c))

La sortie montre que les trois noms font référence au même objet en mémoire :

140725259658192
140725259658192
140725259658192

Vous pouvez également voir cela visualisé dans ce simulateur de mémoire Python interactif :

Python id() Exemple d'objets de liste

Si vous créez plusieurs objets de liste avec les mêmes éléments, ils devraient tous avoir le même identifiant unique, n'est-ce pas ?

for i in range(10):
    print(id([1, 2, 3]))

Exercice :Est-ce qu'on imprime 10 fois la même sortie ?


Mais avant de continuer, je suis ravi de vous présenter mon nouveau livre Python Python One-Liners (Lien Amazon).

Si vous aimez les one-liners, vous allez adorer le livre. Il vous apprendra tout ce qu'il y a à savoir sur une seule ligne de code Python. Mais c'est aussi une introduction à l'informatique , science des données, apprentissage automatique et algorithmes. L'univers en une seule ligne de Python !

Le livre est sorti en 2020 avec l'éditeur de livres de programmation de classe mondiale NoStarch Press (San Francisco).

Lien :https://nostarch.com/pythononeliners

La sortie de l'extrait de code est surprenante car elle montre que l'id ne doit être unique que pendant la durée de vie de l'objet !

2805153590280
2805153590280
2805153590664
2805153590536
2805153590280
2805153590664
2805153590536
2805153590280
2805153590664
2805153590536

Par exemple, les deux premières instances ont les mêmes identifiants ! La raison en est que la durée de vie de l'objet est limitée - une liste n'est jamais utilisée après la création.

Résumé

id(object) intégré de Python La fonction prend un objet Python comme entrée et renvoie l'identité d'un objet qui est un entier statique et unique.

  • L'identité est statique, c'est-à-dire qu'elle ne change jamais tout au long de l'exécution du programme, et
  • unique, c'est-à-dire qu'aucun autre objet n'a la même identité.

Vous voulez continuer à améliorer vos compétences Python ? Consultez nos aide-mémoire Python gratuits :


Prochain article