您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在CPython中实现变量分配?

如何在CPython中实现变量分配?

在模块范围或类范围中,变量在Python dict中作为条目实现。指向对象的指针存储在字典中。在较早的cpython版本中,指针直接存储在dict的基础哈希表中,但是自cpython 3.6起,哈希表现在将索引存储到dict条目的密集数组中,并且指针位于该数组中。(还有一些拆分键字典,它们的工作方式略有不同。它们用于优化对象属性,您可能会或可能不会认为它们是变量。)

函数范围内,Python创建一个堆栈框架对象以存储用于给定函数执行的数据,并且该堆栈框架对象包括一个指向变量值的指针数组。变量在此数组中作为条目实现,并且指向值的指针存储在数组中,每个变量的索引固定。(字节码编译器负责确定这些索引。)

python 2022/1/1 18:46:47 有335人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶