python int的源码分析
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python int的源码分析相关的知识,希望对你有一定的参考价值。
在intobject.h中找到整数的定义
Python的整数对象的数据实际保存在ob_ival中,是c中的long类型。PyObject_HEAD就应该是整数对象的描述了。从源码的描述中知道PyObject_HEAD定义了整数对象的初始化信息
其中typedef struct _typeobject{}PyTypeObject,PyTypeObject可以被认为对象的最通用,最原始的类,被其他整数,字符串等对象继承使用。
PyAPI_DATA(PyTypeObject) PyInt_Type;,可以猜测,PyAPI_DATA就是整数对象类型继承PyTypeObject的包装声明。在intobject.c中可以找到对PyInt_Type的赋值
可以看到PyInt_Type的父类初始化就是通过PyType_Type来完成的。
int_as_number是整数对象的操作集合,这个就不再细看了。值得注意的是int_doc,这个是整数对象的文档信息
以上是关于python int的源码分析的主要内容,如果未能解决你的问题,请参考以下文章