类和实例对象 — Python 文档

来自菜鸟教程
Python/docs/2.7/c-api/class
跳转至:导航、​搜索

类和实例对象

请注意,此处描述的类对象代表旧式类,它们将在 Python 3 中消失。 为扩展模块创建新类型时,您将需要使用类型对象(部分 类型对象 )。

type PyClassObject
用于描述内置类的对象的 C 结构。
PyObject *PyClass_Type
这是类对象的类型对象; 它与 Python 层中的 types.ClassType 是同一个对象。
int PyClass_Check(PyObject *o)
如果对象 o 是类对象,包括从标准类对象派生的类型的实例,则返回 true。 在所有其他情况下返回 false。
int PyClass_IsSubclass(PyObject *klass, PyObject *base)
如果 klassbase 的子类,则返回 true。 在所有其他情况下返回 false。

很少有特定于实例对象的函数。

PyTypeObject PyInstance_Type
类实例的类型对象。
int PyInstance_Check(PyObject *obj)
如果 obj 是一个实例,则返回 true。
PyObject *PyInstance_New(PyObject *class, PyObject *arg, PyObject *kw)
创建特定类的新实例。 参数 argkw 用作对象构造函数的位置和关键字参数。
PyObject *PyInstance_NewRaw(PyObject *class, PyObject *dict)
在不调用其构造函数的情况下创建特定类的新实例。 class 是新对象的类。 dict 参数将用作对象的 __dict__; 如果 NULL,将为实例创建一个新字典。