Python-Programm zum Suchen und Drucken der Variablenadresse
In diesem Artikel werden wir sehen, wie man die Adresse der Python-Variablen findet und druckt.
Dies kann auf diese Weise erfolgen:
- Verwendung der id()-Funktion
- Verwendung der Funktion addressof()
- Verwenden der hex()-Funktion
Methode 1: Suchen und drucken Sie die Adresse der Variablen mit id()
Wir können eine Adresse mit der Funktion id() erhalten, die Funktion id() gibt die Adresse des jeweiligen Objekts an.
Syntax: id(Objekt)
wobei Objekt die Datenvariablen sind.
Hier finden wir die Adresse der Liste, der Variablen, des Tupels und des Wörterbuchs.
Python3
# get id of list a = [1, 2, 3, 4, 5] print(id(a)) # get id of a variable a = 12 print(id(a)) # get id of tuple a = (1, 2, 3, 4, 5) print(id(a)) # get id of a dictionary a = {'a' : 1, 'b' : 2} print(id(a))
Ausgabe:
140234866534752 94264748411744 140234904267376 140234866093264
Methode 2: Suchen und drucken Sie die Adresse der Variablen mit addressof()
Wir können mit diesen Funktionen auch Speicheradressen erhalten, ctypes ist eine fremde Funktionsbibliothek für Python. Es bietet C-kompatible Datentypen und ermöglicht den Aufruf von Funktionen in DLLs oder Shared Libraries.
Syntax: addressof(c_int(object))
wobei Objekt die Datenvariablen sind
Beispiel: Python-Programm zum Abrufen der Speicheradresse einer Variablen.
Python3
# import addressof, # c_int modules from ctypes module from ctypes import c_int, addressof # get memory address of variable a = 44 print(addressof(c_int(a)))
Ausgabe:
140234866278064
Methode 3: Adresse der Variablen mit hex() suchen und drucken
Hier rufen wir die Funktion hex(address) auf, um die Speicheradresse in eine hexadezimale Darstellung umzuwandeln.
Syntax: hex(id(Objekt))
wo,
- hex() ist die hexadezimale Speicherdarstellung der Adresse
- id wird verwendet, um den Speicher des Objekts abzurufen
- Objekt sind die Daten
Beispiel: Python-Programm, um die Speicheradresse in hexadezimaler Darstellung zu erhalten.
Python3
# get id of list in hexadecimal representation a = [1, 2, 3, 4, 5] print(hex(id(a))) # get id of a variable in hexadecimal representation a = 12 print(hex(id(a))) # get id of tuple in hexadecimal representation a = (1, 2, 3, 4, 5) print(hex(id(a))) # get id of a dictionary in hexadecimal representation a = {'a': 1,'b' : 2} print(hex(id(a)))
Ausgabe:
0x7fba9b0ae8c0 0x5572da858b60 0x7fba9f3c4a10 0x7fba9b05b8c0