Python id()-Funktion
Python3 integrierte Funktionen
id()Es ist eine in Python integrierte Funktion, mit der die eindeutige Kennung eines Objekts abgerufen wird.
In Python hat jedes Objekt eine eindeutige ganzzahlige Kennung, die während der Lebensdauer des Objekts eindeutig und konstant ist.id()Sie gibt diese Kennung zurück, die normalerweise der Speicheradresse des Objekts entspricht.
Wortdefinition: idJaidentifierAbkürzung für (Bezeichner).
Grundlegende Syntax und Parameter
Syntaxformat
id(object)
Parameterbeschreibung
- Parameter object:
- Typ: Beliebiges Objekt
- Beschreibung: Das Objekt, dessen Kennung abgerufen werden soll.
Funktionsbeschreibung
- Rückgabewert: Gibt eine Ganzzahl zurück, die den eindeutigen Bezeichner des Objekts darstellt.
- Eigenschaften: Die id bleibt während der gesamten Lebensdauer des Objekts konstant.
Beispiele
Beispiel 1: Grundlegende Verwendung
Beispiel
a = 10
print(id(a)) # Ausgabe: eine Ganzzahl, z. B. 4302400000
# Die id einer Zeichenkette anzeigen
s = "hello"
print(id(s)) # Ausgabe: eine Ganzzahl
# Die id einer Liste anzeigen
lst = [1, 2, 3]
print(id(lst)) # Ausgabe: eine Ganzzahl
Erwartete Ausgabe:
Gibt den eindeutigen Bezeichner des Objekts zurück (eine Ganzzahl).
Codeanalyse:
- Jedes Objekt hat eine eindeutige id.
- Verschiedene Objekte haben normalerweise unterschiedliche ids.
Beispiel 2: Objektidentität überprüfen
Beispiel
a = [1, 2, 3]
b = a
print(id(a) == id(b)) # Ausgabe: True (a und b verweisen auf dasselbe Objekt)
# Ein Objekt kopieren
a = [1, 2, 3]
b = a.copy()
print(id(a) == id(b)) # Ausgabe: False (a und b sind unterschiedliche Objekte)
# Integer-Caching (kleine Ganzzahlen)
a = 256
b = 256
print(id(a) == id(b)) # Ausgabe: True (kleine Ganzzahlen werden zwischengespeichert)
a = 257
b = 257
print(id(a) == id(b)) # Ausgabe: False (große Ganzzahlen werden nicht zwischengespeichert)
Erwartete Ausgabe:
True False True False
Codeanalyse:
- Verwenden Sie
==Der Vergleich von ids kann feststellen, ob es sich um dasselbe Objekt handelt. - Python speichert kleine Ganzzahlen (-5 bis 256) zwischen, daher können Variablen mit demselben Wert dieselbe id teilen.
Beispiel 3: Praktische Anwendung
Beispiel
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)) # Ausgabe: True
print(check_same_object(list1, list3)) # Ausgabe: False
# Als Dictionary-Schlüssel verwenden (obwohl nicht üblich)
d = {}
obj = object()
d[obj] = "value"
print(d[obj]) # Ausgabe: value
# Objekte während des Debuggens anzeigen
class Person:
pass
p = Person()
print(f"Objekt-ID: {id(p)}")
print(f"Klassen-ID: {id(Person)}")
Erwartete Ausgabe:
True False value 对象 id: ... 类 id: ...
id()Wird hauptsächlich zum Debuggen, zur Überprüfung der Objektidentität, zum Verständnis der Python-Speicherverwaltung und für andere Aspekte verwendet.
Python3 integrierte Funktionen
Andere Erweiterungen