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的对象指针,引用特定对象的类型。

对于大小是在分配对象时确定的,包含项数组的对象,有特定的接口。

上一篇:同时执行两个ubuntu的终端
下一篇:Python C API接口函数

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.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
【调剂】985复旦大学类脑智能科学与技术研究院硕士研究生招生接收校内调剂考生工作细则... 2019-03-03
【调剂】沈阳航空航天大学2020年硕士研究生调剂信息 2019-03-03
最新!薪酬最高的大学本科专业公布! 2019-03-03
2021考研数学,如何利用错题高效拿分? 2019-03-03
【调剂】上海应用技术大学2021年硕士研究生招生考试调剂信息 2019-03-03
【调剂】沈阳理工大学 环境科学与工程,材料与化工、化学工程与技术,有调剂名额,相关专业可跨专业... 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