Python 2.7 如果只给出python变量的地址,如何获取该变量中存储的值?

Python 2.7 如果只给出python变量的地址,如何获取该变量中存储的值?,python-2.7,Python 2.7,如果一个变量的地址为“20754060”,我们如何获得存储在该地址中的值 a=20754060 #consist of address of some variable 我们怎样才能获得存储在“2075400”位置的值呢?你可能不能,即使你可以,你也不应该。乱动内存内容、忽略或阻碍GC是错误的,可能会导致一些奇怪的错误。正如人们已经提到的:这是非常错误的;) 然而,这是你如何做到的(只是一个开始) 这将打印出: 35746280 c_char_p('\xa7\

如果一个变量的地址为“20754060”,我们如何获得存储在该地址中的值

a=20754060                  #consist of address of some variable

我们怎样才能获得存储在“2075400”位置的值呢?你可能不能,即使你可以,你也不应该。乱动内存内容、忽略或阻碍GC是错误的,可能会导致一些奇怪的错误。

正如人们已经提到的:这是非常错误的;)

然而,这是你如何做到的(只是一个开始)

这将打印出:

35746280
c_char_p('\xa7\x01')
0x1a7
上述方法仅适用于c_int(=ctypes.c_int)等ctype对象

c_char_p函数一次获取一个字节的值。对于更复杂的对象,事情会很快变得非常丑陋,并且可能在某个点上存在限制。但如果你愿意,请从这里开始阅读:


试试这个,在我的情况下它是有效的

address = id(variable)
这将给出变量的id,并使用此id检查变量的值

ctypes.cast(address, ctypes.py_object).value

AFAIK python没有指针和地址的概念。。。你是从哪里得到这个作业的?你能解释一下实际的问题吗;或者提供更多细节。现在这个问题看起来像是另一种语言的问题,而不是Python。
ctypes.cast(address, ctypes.py_object).value