📜  如何在Python获取对象的内存地址(1)

📅  最后修改于: 2023-12-03 15:38:37.478000             🧑  作者: Mango

如何在Python获取对象的内存地址

在Python中,可以使用内置函数id()获取任意对象的内存地址。id()函数返回一个整数,代表对象在内存中的地址。

下面是一个简单的示例,展示如何使用id()函数获取对象的内存地址:

my_list = [1, 2, 3]
print(id(my_list))

运行以上代码,将输出一个十六进制数字,代表my_list这个列表对象在内存中的地址。

除了id()函数外,还可以使用ctypes模块中的addressof()函数来获取对象的内存地址。使用addressof()函数需要传入对象的指针,可以使用ctypes模块中的pointer()函数获取对象的指针。

以下是一个使用ctypes模块获取对象内存地址的示例:

import ctypes

my_list = [1, 2, 3]
ptr = ctypes.pointer(my_list)
print(ctypes.addressof(ptr.contents))

在以上示例中,首先使用pointer()函数获取my_list列表对象的指针,然后使用addressof()函数获取指针的内存地址。

总之,使用id()ctypes模块的addressof()函数都可以获取Python对象的内存地址。这些函数在调试或优化代码时非常有用。