Copyright (C) 2000-2012 |
GNU Info (python2.1-api.info)Object ProtocolObject Protocol =============== `int PyObject_Print(PyObject *o, FILE *fp, int flags)' Print an object O, on file FP. Returns `-1' on error. The flags argument is used to enable certain printing options. The only option currently supported is `Py_PRINT_RAW'; if given, the `str()' of the object is written instead of the `repr()'. `int PyObject_HasAttrString(PyObject *o, char *attr_name)' Returns `1' if O has the attribute ATTR_NAME, and `0' otherwise. This is equivalent to the Python expression `hasattr(O, ATTR_NAME)'. This function always succeeds. `PyObject* PyObject_GetAttrString(PyObject *o, char *attr_name)' Retrieve an attribute named ATTR_NAME from object O. Returns the attribute value on success, or `NULL' on failure. This is the equivalent of the Python expression `O.ATTR_NAME'. `int PyObject_HasAttr(PyObject *o, PyObject *attr_name)' Returns `1' if O has the attribute ATTR_NAME, and `0' otherwise. This is equivalent to the Python expression `hasattr(O, ATTR_NAME)'. This function always succeeds. `PyObject* PyObject_GetAttr(PyObject *o, PyObject *attr_name)' Retrieve an attribute named ATTR_NAME from object O. Returns the attribute value on success, or `NULL' on failure. This is the equivalent of the Python expression `O.ATTR_NAME'. `int PyObject_SetAttrString(PyObject *o, char *attr_name, PyObject *v)' Set the value of the attribute named ATTR_NAME, for object O, to the value V. Returns `-1' on failure. This is the equivalent of the Python statement `O.ATTR_NAME = V'. `int PyObject_SetAttr(PyObject *o, PyObject *attr_name, PyObject *v)' Set the value of the attribute named ATTR_NAME, for object O, to the value V. Returns `-1' on failure. This is the equivalent of the Python statement `O.ATTR_NAME = V'. `int PyObject_DelAttrString(PyObject *o, char *attr_name)' Delete attribute named ATTR_NAME, for object O. Returns `-1' on failure. This is the equivalent of the Python statement: `del O.ATTR_NAME'. `int PyObject_DelAttr(PyObject *o, PyObject *attr_name)' Delete attribute named ATTR_NAME, for object O. Returns `-1' on failure. This is the equivalent of the Python statement `del O.ATTR_NAME'. `int PyObject_Cmp(PyObject *o1, PyObject *o2, int *result)' Compare the values of O1 and O2 using a routine provided by O1, if one exists, otherwise with a routine provided by O2. The result of the comparison is returned in RESULT. Returns `-1' on failure. This is the equivalent of the Python statement `RESULT = cmp(O1, O2)'. `int PyObject_Compare(PyObject *o1, PyObject *o2)' Compare the values of O1 and O2 using a routine provided by O1, if one exists, otherwise with a routine provided by O2. Returns the result of the comparison on success. On error, the value returned is undefined; use `PyErr_Occurred()' to detect an error. This is equivalent to the Python expression `cmp(O1, O2)'. `PyObject* PyObject_Repr(PyObject *o)' Compute a string representation of object O. Returns the string representation on success, `NULL' on failure. This is the equivalent of the Python expression `repr(O)'. Called by the `repr()' built-in function and by reverse quotes. `PyObject* PyObject_Str(PyObject *o)' Compute a string representation of object O. Returns the string representation on success, `NULL' on failure. This is the equivalent of the Python expression `str(O)'. Called by the `str()' built-in function and by the `print' statement. `PyObject* PyObject_Unicode(PyObject *o)' Compute a Unicode string representation of object O. Returns the Unicode string representation on success, `NULL' on failure. This is the equivalent of the Python expression `unistr(O)'. Called by the `unistr()' built-in function. `int PyObject_IsInstance(PyObject *inst, PyObject *cls)' Return `1' if INST is an instance of the class CLS or a subclass of CLS. If CLS is a type object rather than a class object, `PyObject_IsInstance()' returns `1' if INST is of type CLS. If INST is not a class instance and CLS is neither a type object or class object, INST must have a `__class__' attribute -- the class relationship of the value of that attribute with CLS will be used to determine the result of this function. _Added in Python version 2.1_ Subclass determination is done in a fairly straightforward way, but includes a wrinkle that implementors of extensions to the class system may want to be aware of. If `A' and `B' are class objects, `B' is a subclass of `A' if it inherits from `A' either directly or indirectly. If either is not a class object, a more general mechanism is used to determine the class relationship of the two objects. When testing if B is a subclass of A, if A is B, `PyObject_IsSubclass()' returns true. If A and B are different objects, B's `__bases__' attribute is searched in a depth-first fashion for A -- the presence of the `__bases__' attribute is considered sufficient for this determination. `int PyObject_IsSubclass(PyObject *derived, PyObject *cls)' Returns `1' if the class DERIVED is identical to or derived from the class CLS, otherwise returns `0'. In case of an error, returns `-1'. If either DERIVED or CLS is not an actual class object, this function uses the generic algorithm described above. _Added in Python version 2.1_ `int PyCallable_Check(PyObject *o)' Determine if the object O is callable. Return `1' if the object is callable and `0' otherwise. This function always succeeds. `PyObject* PyObject_CallObject(PyObject *callable_object, PyObject *args)' Call a callable Python object CALLABLE_OBJECT, with arguments given by the tuple ARGS. If no arguments are needed, then ARGS may be `NULL'. Returns the result of the call on success, or `NULL' on failure. This is the equivalent of the Python expression `apply(CALLABLE_OBJECT, ARGS)'. `PyObject* PyObject_CallFunction(PyObject *callable_object, char *format, ...)' Call a callable Python object CALLABLE_OBJECT, with a variable number of C arguments. The C arguments are described using a `Py_BuildValue()' style format string. The format may be `NULL', indicating that no arguments are provided. Returns the result of the call on success, or `NULL' on failure. This is the equivalent of the Python expression `apply(CALLABLE_OBJECT, ARGS)'. `PyObject* PyObject_CallMethod(PyObject *o, char *method, char *format, ...)' Call the method named M of object O with a variable number of C arguments. The C arguments are described by a `Py_BuildValue()' format string. The format may be `NULL', indicating that no arguments are provided. Returns the result of the call on success, or `NULL' on failure. This is the equivalent of the Python expression `O.METHOD(ARGS)'. Note that special method names, such as `__add__()', `__getitem__()', and so on are not supported. The specific abstract-object routines for these must be used. `int PyObject_Hash(PyObject *o)' Compute and return the hash value of an object O. On failure, return `-1'. This is the equivalent of the Python expression `hash(O)'. `int PyObject_IsTrue(PyObject *o)' Returns `1' if the object O is considered to be true, and `0' otherwise. This is equivalent to the Python expression `not not O'. This function always succeeds. `PyObject* PyObject_Type(PyObject *o)' On success, returns a type object corresponding to the object type of object O. On failure, returns `NULL'. This is equivalent to the Python expression `type(O)'. `int PyObject_Length(PyObject *o)' Return the length of object O. If the object O provides both sequence and mapping protocols, the sequence length is returned. On error, `-1' is returned. This is the equivalent to the Python expression `len(O)'. `PyObject* PyObject_GetItem(PyObject *o, PyObject *key)' Return element of O corresponding to the object KEY or `NULL' on failure. This is the equivalent of the Python expression `O[KEY]'. `int PyObject_SetItem(PyObject *o, PyObject *key, PyObject *v)' Map the object KEY to the value V. Returns `-1' on failure. This is the equivalent of the Python statement `O[KEY] = V'. `int PyObject_DelItem(PyObject *o, PyObject *key)' Delete the mapping for KEY from O. Returns `-1' on failure. This is the equivalent of the Python statement `del O[KEY]'. `int PyObject_AsFileDescriptor(PyObject *o)' Derives a file-descriptor from a Python object. If the object is an integer or long integer, its value is returned. If not, the object's `fileno()' method is called if it exists; the method must return an integer or long integer, which is returned as the file descriptor value. Returns `-1' on failure. automatically generated by info2www version 1.2.2.9 |