Python - интерпретируемый язык программирования, поэтому перед выполнением код транслируется в машиночитаемые инструкции - байт-код. Байт-код интерпретируется виртуальной машиной, определяемой реализацией языка, например, стандартной - CPython.
Python не взаимодействует с памятью - только с её виртуальным представлением. В процессе выполнения программы операционная система создаёт процесс и выделяет под него ресурсы. В отличие от С/С++ мы не можем управлять памятью из кучи напрямую, а делаем это посредством memory manager, который и обращается к памяти через Python/C API.