Старт процесса в python делается с помощью системного вызова fork (поведение по-умолчанию) при этом память копируется только в случае записи в нее (стратегия copy on write). Этой особенностью можно пользоваться, например если нужно обработать какой-то большой объем данных - в основном процессе занимаемся их формированием, в порожденных обрабатываем. При этом данные должны находиться в глобальной области видимости а передача их на обработку делается неявно. Но иногда хочется передать указатель на объект явно и не думать об области видимости. В этом случае можно взять его id, а затем в восстановить из него полноценный объект с помощью ctypes.cast(obj_id, ctypes.py_object).value
Пример ниже:
https://replit.com/@habibutsu/pass-data-by-ptr
Пример ниже:
https://replit.com/@habibutsu/pass-data-by-ptr