mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	
		
			
	
	
		
			66 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
		
		
			
		
	
	
			66 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| 
								 | 
							
								.. 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.
							 |