Is it possible to get the Physical memory address of a variable in python?

Skip Montanaro skip.montanaro at
Mon Jan 23 14:05:58 EST 2017

On Mon, Jan 23, 2017 at 12:49 PM, Chris Angelico <rosuav at> wrote:
> On Tue, Jan 24, 2017 at 4:49 AM, Sourabh Kalal <kalalsunnyy at> wrote:
> > how we can access the value from using id..
> > like x=10
> > id(x)
> > 3235346364
> >
> > how i can read value 10 using id 3235346364
> No, you can't. That isn't a memory address - it's just a unique
> identifier. Python doesn't have memory addresses.

Well, it might be, but that would be very implementation-dependent.
Any attempt to treat an id as a memory address and interpret the
object at that address as the beginning of a PyObject of any kind will
be fragile in the extreme. Even if you have two different
implementations at hand which both use memory addresses as convenient
ids, there's no guarantee that the address represents that start of a
CPython PyObject.

>>> hex(3235346364)

There. *Now* you have an address. Hack to your heart's content. <wink>


More information about the Python-list mailing list