在模块范围或类范围中,变量在Python dict中作为条目实现。指向对象的指针存储在字典中。在较早的cpython版本中,指针直接存储在dict的基础哈希表中,但是自cpython 3.6起,哈希表现在将索引存储到dict条目的密集数组中,并且指针位于该数组中。(还有一些拆分键字典,它们的工作方式略有不同。它们用于优化对象属性,您可能会或可能不会认为它们是变量。)
在函数范围内,Python创建一个堆栈框架对象以存储用于给定函数执行的数据,并且该堆栈框架对象包括一个指向变量值的指针数组。变量在此数组中作为条目实现,并且指向值的指针存储在数组中,每个变量的索引固定。(字节码编译器负责确定这些索引。)