📅  最后修改于: 2023-12-03 15:38:37.478000             🧑  作者: Mango
在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对象的内存地址。这些函数在调试或优化代码时非常有用。