symbian-qemu-0.9.1-12/python-2.6.1/Doc/c-api/class.rst
author Gareth Stockwell <gareth.stockwell@accenture.com>
Wed, 22 Sep 2010 15:40:40 +0100
branchgraphics-phase-3
changeset 111 345f1c88c950
parent 1 2fb8b9db1c86
permissions -rw-r--r--
Fixes to syborg-graphicswrapper.vcproj These changes allow syborg-graphicswrapper to link against the hostthreadadapter and khronosapiwrapper libraries built by the graphics.simulator component. The .vcproj file uses relative paths, which requires that the following three packages are laid out as follows: os/ graphics adapt/ graphics.simulator qemu

.. highlightlang:: c

.. _classobjects:

Class and Instance Objects
--------------------------

.. index:: object: class

Note that the class objects described here represent old-style classes, which
will go away in Python 3. When creating new types for extension modules, you
will want to work with type objects (section :ref:`typeobjects`).


.. ctype:: PyClassObject

   The C structure of the objects used to describe built-in classes.


.. cvar:: PyObject* PyClass_Type

   .. index:: single: ClassType (in module types)

   This is the type object for class objects; it is the same object as
   ``types.ClassType`` in the Python layer.


.. cfunction:: int PyClass_Check(PyObject *o)

   Return true if the object *o* is a class object, including instances of types
   derived from the standard class object.  Return false in all other cases.


.. cfunction:: int PyClass_IsSubclass(PyObject *klass, PyObject *base)

   Return true if *klass* is a subclass of *base*. Return false in all other cases.


.. index:: object: instance

There are very few functions specific to instance objects.


.. cvar:: PyTypeObject PyInstance_Type

   Type object for class instances.


.. cfunction:: int PyInstance_Check(PyObject *obj)

   Return true if *obj* is an instance.


.. cfunction:: PyObject* PyInstance_New(PyObject *class, PyObject *arg, PyObject *kw)

   Create a new instance of a specific class.  The parameters *arg* and *kw* are
   used as the positional and keyword parameters to the object's constructor.


.. cfunction:: PyObject* PyInstance_NewRaw(PyObject *class, PyObject *dict)

   Create a new instance of a specific class without calling its constructor.
   *class* is the class of new object.  The *dict* parameter will be used as the
   object's :attr:`__dict__`; if *NULL*, a new dictionary will be created for the
   instance.