前言
这一篇博客原本应该是写在上一篇关于pyObject对象的博客中的,但是为了不把内容写的又臭又长,给读者减轻痛苦,给我也减少压力,于是就专门用一篇介绍一下今天的主角—pyTypeObject。
开始
还记得在上一篇我们有聊到,pyObject的结构体很简单,总共只有三项,其中一项就是类型为pyTypeObject
的变量ob_type
:
这个被遗留的小东西,看似简单,但实际上却承载了非凡的使命!我们都知道python是面向对象的编程语言,之前我们一直在探究对象
层面的东西,但是我们要知道,得到一个对象的前提是需要有类[型]
的,不然我怎么知道这是一个什么对象?在不知道它是一个什么对象的前提下,就更不会知道它会有什么行为或者属性…而pyTypeObject的的存在就是为了解决这些问题,我认为它在某种意义上来说,就是面向对象中类
的含义的具体实现!
来看看它的具体定义吧!内容看起来有点多,我这里就只截取部分出来:
// If this structure is modified, Doc/includes/typestruct.h should be updated
//