In this article, we are going to see how to find and print the address of the Python variable.
It can be done in these ways:
- Using id() function
- Using addressof() function
- Using hex() function
Method 1: Find and Print Address of Variable using id()
We can get an address using id() function, id() function gives the address of the particular object.
Syntax: id(object)
where, object is the data variables.
Here we are going to find the address of the list, variable, tuple and dictionary.
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)) |
Output:
140234866534752 94264748411744 140234904267376 140234866093264
Method 2: Find and Print Address of Variable using addressof()
we can also get memory addresses using these functions, ctypes is a foreign function library for Python. It provides C-compatible data types and allows calling functions in DLLs or shared libraries.
Syntax:addressof(c_int(object))
where object is the data variables
Example: Python program to get the memory address of a variable.
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))) |
Output:
140234866278064
Method 3: Find and Print Address of Variable using hex()
Here we will call the hex(address) function, to convert the memory address to hexadecimal representation.
Syntax: hex(id(object))
where,
- hex() is the memory hexadecimal representation to the address
- id is used to get the memory of the object
- object is the data
Example: Python program to get the memory address in hexadecimal representation.
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))) |
Output:
0x7fba9b0ae8c0 0x5572da858b60 0x7fba9f3c4a10 0x7fba9b05b8c0