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