
Python对象和引用计数 object.h文档
发布日期:2021-05-06 22:02:06
浏览次数:11
分类:技术文章
本文共 705 字,大约阅读时间需要 2 分钟。
对象是在堆上分配的结构体。对象使用了特殊的规则以确保它们正确地进行(内存)垃圾收集。
对象不以静态方式在栈上分配;它们必须仅通过特殊宏和函数访问。(Type对象为第一个规则的例外; 标准Type通常指静态初始化的Type对象,尽管对于python 2.2,也可以让堆分配类型对象)。对象的“引用计数”在复制指向Object的指针时增加,在删除指向Object的指针时减少;
当引用计数达到零,也就是说没有对对象的引用时,它就可以从堆中删除。一个Type对象决定了它代表什么类型的数据。对象的类型在创建时是固定的。
Type本身表示为Object:包含一个指向相应类型对象的指针。 Type本身具有一个类型指向“type”对象的指针,也就是指向它自身的指针!).对象不会在内存中变动;一旦分配了对象,对象将保持大小和地址。
Object必须保存变量大小。 不是所有同一type的对象都具有相同的大小;但一旦分配,大小不能更改。 (这些限制是为了仅用一个指针就可以指向对象——移动对象需要更新指针。 如果旁边有另一个object,更改对象的大小将需要移动它。)对象总是通过“pyobject*”类型的指针访问。
类型“pyobject”是一个只包含引用计数的结构和type指针。 为对象分配的实际内存,包含只能在定义了一个指向更长结构类型的指针后访问的其他数据。 这种较长的类型必须从引用计数和类型字段开始;宏PyObject_HEAD 应用于此(以适应将来的更改)。 可以通过声明指向合适的type和back的对象指针,引用特定对象的类型。对于大小是在分配对象时确定的,包含项数组的对象,有特定的接口。
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年03月23日 19时23分21秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
408的逆袭!武汉大学所有计算机/软件专业都改为408!
2019-03-03
408又多一所学校!广东某大学专业课改为408!
2019-03-03
【报名问题】考研现场确认时发现报考点选错了怎么办?
2019-03-03
提醒 | 未下载打印准考证的考生,不能参加2020年考研初试
2019-03-03
【调剂】其它计算机/软件调剂信息 20.4.21
2019-03-03
【调剂】华侨大学媒体分析与数据挖掘小组招收学硕调剂生
2019-03-03
分数线385!平均分399!985大学计算机的真正“实力”!
2019-03-03
【调剂】211云南大学2020年硕士研究生招生调剂通知
2019-03-03
【调剂】沈阳航空航天大学2020年硕士研究生调剂信息
2019-03-03
最新!薪酬最高的大学本科专业公布!
2019-03-03
2021考研数学,如何利用错题高效拿分?
2019-03-03
【调剂】上海应用技术大学2021年硕士研究生招生考试调剂信息
2019-03-03
2021QS计算机专业排名发布:MIT斯坦福霸榜,清华北大进入前20
2019-03-03
wxpython配合MySQL数据库完成用户登录页面的设计
2019-03-03
JavaScript学习手册(45)
2019-03-03
【纪中2020.5.2日】模拟赛题解
2019-03-03
【纪中2020.5.06日】模拟赛题解
2019-03-03
eclipse中server location灰色解决
2019-03-03