Python не имеет любой такой вещи.
Python - это язык и не указывает, насколько точно реализованы реализации должен достичь семантики, определяемой языком Python.
Каждая реализация (CPython, PyPy, IronPython, Stackless , Jython ...) свободна в том, чтобы делать свое дело!
В C Python, все объекты живут в куче:
Управление памятью в Python включает в себя частную кучу, содержащую все объекты и структуры данных Python.1
blockquote>Виртуальная машина CPython основана на стеках:
>>> def g(): x = 1 y = 2 return f(x, y) >>> import dis >>> dis.dis(g) 2 0 LOAD_CONST 1 (1) # Push 1 onto the stack 3 STORE_FAST 0 (x) # Stores top of stack into local var x 3 6 LOAD_CONST 2 (2) # Push 2 onto stack 9 STORE_FAST 1 (y) # Store TOS into local var y 4 12 LOAD_GLOBAL 0 (f) # Push f onto stack 15 LOAD_FAST 0 (x) # Push x onto stack 18 LOAD_FAST 1 (y) # Push y onto stack 21 CALL_FUNCTION 2 # Execute function with 2 # f's return value is pushed on stack 24 RETURN_VALUE # Return TOS to caller (result of f)
Имейте в виду, что это специфичный для CPython. Стек не содержит фактических значений , хотя он сохраняет ссылки на эти объекты.
1: Источник
'LuaR' является частью заголовка предварительно скомпилированных скриптов Lua 5.2.
'R' на самом деле '0x52' в гексе, что кодирует версию Lua.