Python id()-Funktion

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

# Die id einer Ganzzahl anzeigen
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:

  1. Jedes Objekt hat eine eindeutige id.
  2. Verschiedene Objekte haben normalerweise unterschiedliche ids.

Beispiel 2: Objektidentität überprüfen

Beispiel

# Dasselbe Objekt mehrfach referenziert
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

# Prüfen, ob es dasselbe Objekt ist
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 内置函数Python3 integrierte Funktionen


Andere Erweiterungen