python中id函数用于取得一个对象的内存地址:
In [154]: a = 1
In [155]: id(a)
Out[155]: 1544577248
In [156]: id(1)
Out[156]: 1544577248
好,问个我也不知道有什么用的问题:
现在知道了id(?) = 1544577248
有什么函数可以
foo(1544577248) = 1
取得1544577248这个地址的值为1
那么foo函数是什么?在python中
python中id函数用于取得一个对象的内存地址:
In [154]: a = 1
In [155]: id(a)
Out[155]: 1544577248
In [156]: id(1)
Out[156]: 1544577248
好,问个我也不知道有什么用的问题:
现在知道了id(?) = 1544577248
有什么函数可以
foo(1544577248) = 1
取得1544577248这个地址的值为1
那么foo函数是什么?在python中
外部函数库 ctypes.cast 可以返回内存块的数据。
cast() 函数可以将一个指针实例强制转换为另一种 ctypes 类型。 cast() 接收两个参数,一个 ctypes 指针对象或者可以被转换为指针的其他类型对象,和一个 ctypes 指针类型。 返回第二个类型的一个实例,该返回实例和第一个参数指向同一片内存空间。
In [1]: import ctypes
In [2]: a = 1
In [3]: aa = id(a)
In [4]: aa
Out[4]: 4473891120
In [5]: ctypes.cast(aa, ctypes.py_object)
Out[5]: py_object(1)
In [6]: ctypes.cast(aa, ctypes.py_object).value
Out[6]: 1
3 回答2k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
python官方库中没有,因为你并不能知道内存地址处存储的对象是什么类型的,对于一切都是用对象的python(底层c中的对象),仅根据一个内存地址无法判断底层c的类型