annotate Doc/extref.tex @ 4566:6403c94de50d legacy-trunk

Added safeguard against failure in __del__.
author Guido van Rossum <guido@python.org>
date Wed, 27 Nov 1996 19:39:58 +0000
parents 4a7c7dd7b1f0
children dc33e11a1c28
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
1 \newcommand{\NULL}{\code{NULL}}
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
2
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
3 \chapter{Extension Reference}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
4
4516
4a7c7dd7b1f0 Added 'Introduction' section head and 'Memory Management' subsection.
Guido van Rossum <guido@python.org>
parents: 4510
diff changeset
5 \section{Introduction}
4a7c7dd7b1f0 Added 'Introduction' section head and 'Memory Management' subsection.
Guido van Rossum <guido@python.org>
parents: 4510
diff changeset
6
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
7 From the viewpoint of of C access to Python services, we have:
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
8
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
9 \begin{enumerate}
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
10 \item "Very high level layer": two or three functions that let you exec or
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
11 eval arbitrary Python code given as a string in a module whose name is
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
12 given, passing C values in and getting C values out using
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
13 mkvalue/getargs style format strings. This does not require the user
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
14 to declare any variables of type "PyObject *". This should be enough
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
15 to write a simple application that gets Python code from the user,
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
16 execs it, and returns the output or errors.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
17
4516
4a7c7dd7b1f0 Added 'Introduction' section head and 'Memory Management' subsection.
Guido van Rossum <guido@python.org>
parents: 4510
diff changeset
18 \item "Abstract objects layer": which is the subject of this chapter.
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
19 It has many functions operating on objects, and lest you do many
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
20 things from C that you can also write in Python, without going
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
21 through the Python parser.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
22
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
23 \item "Concrete objects layer": This is the public type-dependent
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
24 interface provided by the standard built-in types, such as floats,
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
25 strings, and lists. This interface exists and is currently
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
26 documented by the collection of include files provides with the
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
27 Python distributions.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
28
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
29 From the point of view of Python accessing services provided by C
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
30 modules:
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
31
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
32 \item "Python module interface": this interface consist of the basic
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
33 routines used to define modules and their members. Most of the
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
34 current extensions-writing guide deals with this interface.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
35
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
36 \item "Built-in object interface": this is the interface that a new
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
37 built-in type must provide and the mechanisms and rules that a
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
38 developer of a new built-in type must use and follow.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
39 \end{enumerate}
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
40
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
41 The Python C object interface provides four protocols: object,
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
42 numeric, sequence, and mapping. Each protocol consists of a
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
43 collection of related operations. If an operation that is not
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
44 provided by a particular type is invoked, then a standard exception,
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
45 NotImplementedError is raised with a operation name as an argument.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
46 In addition, for convenience this interface defines a set of
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
47 constructors for building objects of built-in types. This is needed
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
48 so new objects can be returned from C functions that otherwise treat
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
49 objects generically.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
50
4516
4a7c7dd7b1f0 Added 'Introduction' section head and 'Memory Management' subsection.
Guido van Rossum <guido@python.org>
parents: 4510
diff changeset
51 \subsection{Memory Management}
4a7c7dd7b1f0 Added 'Introduction' section head and 'Memory Management' subsection.
Guido van Rossum <guido@python.org>
parents: 4510
diff changeset
52
4a7c7dd7b1f0 Added 'Introduction' section head and 'Memory Management' subsection.
Guido van Rossum <guido@python.org>
parents: 4510
diff changeset
53 For all of the functions described in this chapter, if a function
4a7c7dd7b1f0 Added 'Introduction' section head and 'Memory Management' subsection.
Guido van Rossum <guido@python.org>
parents: 4510
diff changeset
54 retains a reference to a Python object passed as an argument, then the
4a7c7dd7b1f0 Added 'Introduction' section head and 'Memory Management' subsection.
Guido van Rossum <guido@python.org>
parents: 4510
diff changeset
55 function will increase the reference count of the object. It is
4a7c7dd7b1f0 Added 'Introduction' section head and 'Memory Management' subsection.
Guido van Rossum <guido@python.org>
parents: 4510
diff changeset
56 unnecessary for the caller to increase the reference count of an
4a7c7dd7b1f0 Added 'Introduction' section head and 'Memory Management' subsection.
Guido van Rossum <guido@python.org>
parents: 4510
diff changeset
57 argument in anticipation of the object's retention.
4a7c7dd7b1f0 Added 'Introduction' section head and 'Memory Management' subsection.
Guido van Rossum <guido@python.org>
parents: 4510
diff changeset
58
4a7c7dd7b1f0 Added 'Introduction' section head and 'Memory Management' subsection.
Guido van Rossum <guido@python.org>
parents: 4510
diff changeset
59 All Python objects returned from functions should be treated as new
4a7c7dd7b1f0 Added 'Introduction' section head and 'Memory Management' subsection.
Guido van Rossum <guido@python.org>
parents: 4510
diff changeset
60 objects. Functions that return objects assume that the caller will
4a7c7dd7b1f0 Added 'Introduction' section head and 'Memory Management' subsection.
Guido van Rossum <guido@python.org>
parents: 4510
diff changeset
61 retain a reference and the reference count of the object has already
4a7c7dd7b1f0 Added 'Introduction' section head and 'Memory Management' subsection.
Guido van Rossum <guido@python.org>
parents: 4510
diff changeset
62 been incremented to account for this fact. A caller that does not
4a7c7dd7b1f0 Added 'Introduction' section head and 'Memory Management' subsection.
Guido van Rossum <guido@python.org>
parents: 4510
diff changeset
63 retain a reference to an object that is returned from a function
4a7c7dd7b1f0 Added 'Introduction' section head and 'Memory Management' subsection.
Guido van Rossum <guido@python.org>
parents: 4510
diff changeset
64 must decrement the reference count of the object (using
4a7c7dd7b1f0 Added 'Introduction' section head and 'Memory Management' subsection.
Guido van Rossum <guido@python.org>
parents: 4510
diff changeset
65 DECREF(object)) to prevent memory leaks.
4a7c7dd7b1f0 Added 'Introduction' section head and 'Memory Management' subsection.
Guido van Rossum <guido@python.org>
parents: 4510
diff changeset
66
4a7c7dd7b1f0 Added 'Introduction' section head and 'Memory Management' subsection.
Guido van Rossum <guido@python.org>
parents: 4510
diff changeset
67
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
68 \section{Object Protocol}
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
69
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
70 \begin{cfuncdesc}{int}{PyObject_Print}{PyObject *o, FILE *fp, int flags}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
71 Print an object \code{o}, on file \code{fp}. Returns -1 on error
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
72 The flags argument is used to enable certain printing
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
73 options. The only option currently supported is \code{Py_Print_RAW}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
74 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
75
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
76 \begin{cfuncdesc}{int}{PyObject_HasAttrString}{PyObject *o, char *attr_name}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
77 Returns 1 if o has the attribute attr_name, and 0 otherwise.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
78 This is equivalent to the Python expression:
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
79 \code{hasattr(o,attr_name)}.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
80 This function always succeeds.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
81 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
82
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
83 \begin{cfuncdesc}{PyObject*}{PyObject_AttrString}{PyObject *o, char *attr_name}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
84 Retrieve an attributed named attr_name form object o.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
85 Returns the attribute value on success, or {\NULL} on failure.
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
86 This is the equivalent of the Python expression: \code{o.attr_name}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
87 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
88
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
89
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
90 \begin{cfuncdesc}{int}{PyObject_HasAttr}{PyObject *o, PyObject *attr_name}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
91 Returns 1 if o has the attribute attr_name, and 0 otherwise.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
92 This is equivalent to the Python expression:
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
93 \code{hasattr(o,attr_name)}.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
94 This function always succeeds.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
95 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
96
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
97
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
98 \begin{cfuncdesc}{PyObject*}{PyObject_GetAttr}{PyObject *o, PyObject *attr_name}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
99 Retrieve an attributed named attr_name form object o.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
100 Returns the attribute value on success, or {\NULL} on failure.
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
101 This is the equivalent of the Python expression: o.attr_name.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
102 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
103
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
104
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
105 \begin{cfuncdesc}{int}{PyObject_SetAttrString}{PyObject *o, char *attr_name, PyObject *v}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
106 Set the value of the attribute named \code{attr_name}, for object \code{o},
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
107 to the value \code{v}. Returns -1 on failure. This is
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
108 the equivalent of the Python statement: \code{o.attr_name=v}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
109 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
110
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
111
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
112 \begin{cfuncdesc}{int}{PyObject_SetAttr}{PyObject *o, PyObject *attr_name, PyObject *v}
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
113 Set the value of the attribute named \code{attr_name}, for
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
114 object \code{o},
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
115 to the value \code{v}. Returns -1 on failure. This is
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
116 the equivalent of the Python statement: \code{o.attr_name=v}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
117 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
118
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
119
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
120 \begin{cfuncdesc}{int}{PyObject_DelAttrString}{PyObject *o, char *attr_name}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
121 Delete attribute named \code{attr_name}, for object \code{o}. Returns -1 on
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
122 failure. This is the equivalent of the Python
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
123 statement: \code{del o.attr_name}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
124 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
125
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
126
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
127 \begin{cfuncdesc}{int}{PyObject_DelAttr}{PyObject *o, PyObject *attr_name}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
128 Delete attribute named \code{attr_name}, for object \code{o}. Returns -1 on
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
129 failure. This is the equivalent of the Python
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
130 statement: \code{del o.attr_name}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
131 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
132
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
133
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
134 \begin{cfuncdesc}{int}{PyObject_Cmp}{PyObject *o1, PyObject *o2, int *result}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
135 Compare the values of \code{o1} and \code{o2} using a routine provided by
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
136 \code{o1}, if one exists, otherwise with a routine provided by \code{o2}.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
137 The result of the comparison is returned in \code{result}. Returns
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
138 -1 on failure. This is the equivalent of the Python
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
139 statement: \code{result=cmp(o1,o2)}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
140 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
141
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
142
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
143 \begin{cfuncdesc}{int}{PyObject_Compare}{PyObject *o1, PyObject *o2}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
144 Compare the values of \code{o1} and \code{o2} using a routine provided by
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
145 \code{o1}, if one exists, otherwise with a routine provided by \code{o2}.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
146 Returns the result of the comparison on success. On error,
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
147 the value returned is undefined. This is equivalent to the
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
148 Python expression: \code{cmp(o1,o2)}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
149 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
150
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
151
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
152 \begin{cfuncdesc}{PyObject*}{PyObject_Repr}{PyObject *o}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
153 Compute the string representation of object, \code{o}. Returns the
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
154 string representation on success, {\NULL} on failure. This is
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
155 the equivalent of the Python expression: \code{repr(o)}.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
156 Called by the \code{repr()} built-in function and by reverse quotes.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
157 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
158
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
159
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
160 \begin{cfuncdesc}{PyObject*}{PyObject_Str}{PyObject *o}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
161 Compute the string representation of object, \code{o}. Returns the
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
162 string representation on success, {\NULL} on failure. This is
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
163 the equivalent of the Python expression: \code{str(o)}.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
164 Called by the \code{str()} built-in function and by the \code{print}
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
165 statement.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
166 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
167
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
168
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
169 \begin{cfuncdesc}{int}{PyCallable_Check}{PyObject *o}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
170 Determine if the object \code{o}, is callable. Return 1 if the
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
171 object is callable and 0 otherwise.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
172 This function always succeeds.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
173 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
174
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
175
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
176 \begin{cfuncdesc}{PyObject*}{PyObject_CallObject}{PyObject *callable_object, PyObject *args}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
177 Call a callable Python object \code{callable_object}, with
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
178 arguments given by the tuple \code{args}. If no arguments are
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
179 needed, then args may be {\NULL}. Returns the result of the
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
180 call on success, or {\NULL} on failure. This is the equivalent
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
181 of the Python expression: \code{apply(o, args)}.
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
182 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
183
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
184 \begin{cfuncdesc}{PyObject*}{PyObject_CallFunction}{PyObject *callable_object, char *format, ...}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
185 Call a callable Python object \code{callable_object}, with a
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
186 variable number of C arguments. The C arguments are described
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
187 using a mkvalue-style format string. The format may be {\NULL},
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
188 indicating that no arguments are provided. Returns the
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
189 result of the call on success, or {\NULL} on failure. This is
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
190 the equivalent of the Python expression: \code{apply(o,args)}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
191 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
192
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
193
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
194 \begin{cfuncdesc}{PyObject*}{PyObject_CallMethod}{PyObject *o, char *m, char *format, ...}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
195 Call the method named \code{m} of object \code{o} with a variable number of
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
196 C arguments. The C arguments are described by a mkvalue
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
197 format string. The format may be {\NULL}, indicating that no
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
198 arguments are provided. Returns the result of the call on
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
199 success, or {\NULL} on failure. This is the equivalent of the
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
200 Python expression: \code{o.method(args)}.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
201 Note that Special method names, such as "\code{__add__}",
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
202 "\code{__getitem__}", and so on are not supported. The specific
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
203 abstract-object routines for these must be used.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
204 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
205
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
206
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
207 \begin{cfuncdesc}{int}{PyObject_Hash}{PyObject *o}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
208 Compute and return the hash value of an object \code{o}. On
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
209 failure, return -1. This is the equivalent of the Python
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
210 expression: \code{hash(o)}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
211 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
212
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
213
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
214 \begin{cfuncdesc}{int}{PyObject_IsTrue}{PyObject *o}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
215 Returns 1 if the object \code{o} is considered to be true, and
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
216 0 otherwise. This is equivalent to the Python expression:
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
217 \code{not not o}.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
218 This function always succeeds.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
219 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
220
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
221
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
222 \begin{cfuncdesc}{PyObject*}{PyObject_Type}{PyObject *o}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
223 On success, returns a type object corresponding to the object
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
224 type of object \code{o}. On failure, returns {\NULL}. This is
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
225 equivalent to the Python expression: \code{type(o)}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
226 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
227
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
228 \begin{cfuncdesc}{int}{PyObject_Length}{PyObject *o}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
229 Return the length of object \code{o}. If the object \code{o} provides
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
230 both sequence and mapping protocols, the sequence length is
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
231 returned. On error, -1 is returned. This is the equivalent
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
232 to the Python expression: \code{len(o)}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
233 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
234
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
235
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
236 \begin{cfuncdesc}{PyObject*}{PyObject_GetItem}{PyObject *o, PyObject *key}
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
237 Return element of \code{o} corresponding to the object \code{key} or {\NULL}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
238 on failure. This is the equivalent of the Python expression:
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
239 \code{o[key]}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
240 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
241
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
242
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
243 \begin{cfuncdesc}{int}{PyObject_SetItem}{PyObject *o, PyObject *key, PyObject *v}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
244 Map the object \code{key} to the value \code{v}.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
245 Returns -1 on failure. This is the equivalent
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
246 of the Python statement: \code{o[key]=v}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
247 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
248
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
249
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
250 \begin{cfuncdesc}{int}{PyObject_DelItem}{PyObject *o, PyObject *key, PyObject *v}
4093
f29fe71f11e6 Added documentation for PyObject_DelItem and PySequence_Del{Item,Slice}.
Guido van Rossum <guido@python.org>
parents: 3991
diff changeset
251 Delete the mapping for \code{key} from \code{*o}. Returns -1
f29fe71f11e6 Added documentation for PyObject_DelItem and PySequence_Del{Item,Slice}.
Guido van Rossum <guido@python.org>
parents: 3991
diff changeset
252 on failure.
f29fe71f11e6 Added documentation for PyObject_DelItem and PySequence_Del{Item,Slice}.
Guido van Rossum <guido@python.org>
parents: 3991
diff changeset
253 This is the equivalent of the Python statement: del o[key].
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
254 \end{cfuncdesc}
4093
f29fe71f11e6 Added documentation for PyObject_DelItem and PySequence_Del{Item,Slice}.
Guido van Rossum <guido@python.org>
parents: 3991
diff changeset
255
f29fe71f11e6 Added documentation for PyObject_DelItem and PySequence_Del{Item,Slice}.
Guido van Rossum <guido@python.org>
parents: 3991
diff changeset
256
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
257 \section{Number Protocol}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
258
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
259 \begin{cfuncdesc}{int}{PyNumber_Check}{PyObject *o}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
260 Returns 1 if the object \code{o} provides numeric protocols, and
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
261 false otherwise.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
262 This function always succeeds.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
263 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
264
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
265
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
266 \begin{cfuncdesc}{PyObject*}{PyNumber_Add}{PyObject *o1, PyObject *o2}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
267 Returns the result of adding \code{o1} and \code{o2}, or null on failure.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
268 This is the equivalent of the Python expression: \code{o1+o2}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
269 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
270
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
271
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
272 \begin{cfuncdesc}{PyObject*}{PyNumber_Subtract}{PyObject *o1, PyObject *o2}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
273 Returns the result of subtracting \code{o2} from \code{o1}, or null on
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
274 failure. This is the equivalent of the Python expression:
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
275 \code{o1-o2}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
276 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
277
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
278
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
279 \begin{cfuncdesc}{PyObject*}{PyNumber_Multiply}{PyObject *o1, PyObject *o2}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
280 Returns the result of multiplying \code{o1} and \code{o2}, or null on
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
281 failure. This is the equivalent of the Python expression:
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
282 \code{o1*o2}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
283 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
284
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
285
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
286 \begin{cfuncdesc}{PyObject*}{PyNumber_Divide}{PyObject *o1, PyObject *o2}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
287 Returns the result of dividing \code{o1} by \code{o2}, or null on failure.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
288 This is the equivalent of the Python expression: \code{o1/o2}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
289 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
290
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
291
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
292 \begin{cfuncdesc}{PyObject*}{PyNumber_Remainder}{PyObject *o1, PyObject *o2}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
293 Returns the remainder of dividing \code{o1} by \code{o2}, or null on
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
294 failure. This is the equivalent of the Python expression:
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
295 \code{o1\%o2}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
296 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
297
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
298
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
299 \begin{cfuncdesc}{PyObject*}{PyNumber_Divmod}{PyObject *o1, PyObject *o2}
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
300 See the built-in function divmod. Returns {\NULL} on failure.
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
301 This is the equivalent of the Python expression:
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
302 \code{divmod(o1,o2)}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
303 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
304
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
305
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
306 \begin{cfuncdesc}{PyObject*}{PyNumber_Power}{PyObject *o1, PyObject *o2, PyObject *o3}
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
307 See the built-in function pow. Returns {\NULL} on failure.
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
308 This is the equivalent of the Python expression:
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
309 \code{pow(o1,o2,o3)}, where \code{o3} is optional.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
310 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
311
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
312
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
313 \begin{cfuncdesc}{PyObject*}{PyNumber_Negative}{PyObject *o}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
314 Returns the negation of \code{o} on success, or null on failure.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
315 This is the equivalent of the Python expression: \code{-o}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
316 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
317
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
318
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
319 \begin{cfuncdesc}{PyObject*}{PyNumber_Positive}{PyObject *o}
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
320 Returns \code{o} on success, or {\NULL} on failure.
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
321 This is the equivalent of the Python expression: \code{+o}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
322 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
323
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
324
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
325 \begin{cfuncdesc}{PyObject*}{PyNumber_Absolute}{PyObject *o}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
326 Returns the absolute value of \code{o}, or null on failure. This is
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
327 the equivalent of the Python expression: \code{abs(o)}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
328 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
329
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
330
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
331 \begin{cfuncdesc}{PyObject*}{PyNumber_Invert}{PyObject *o}
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
332 Returns the bitwise negation of \code{o} on success, or {\NULL} on
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
333 failure. This is the equivalent of the Python expression:
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
334 \code{~o}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
335 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
336
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
337
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
338 \begin{cfuncdesc}{PyObject*}{PyNumber_Lshift}{PyObject *o1, PyObject *o2}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
339 Returns the result of left shifting \code{o1} by \code{o2} on success, or
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
340 {\NULL} on failure. This is the equivalent of the Python
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
341 expression: \code{o1 << o2}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
342 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
343
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
344
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
345 \begin{cfuncdesc}{PyObject*}{PyNumber_Rshift}{PyObject *o1, PyObject *o2}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
346 Returns the result of right shifting \code{o1} by \code{o2} on success, or
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
347 {\NULL} on failure. This is the equivalent of the Python
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
348 expression: \code{o1 >> o2}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
349 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
350
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
351
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
352 \begin{cfuncdesc}{PyObject*}{PyNumber_And}{PyObject *o1, PyObject *o2}
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
353 Returns the result of "anding" \code{o2} and \code{o2} on success and {\NULL}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
354 on failure. This is the equivalent of the Python
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
355 expression: \code{o1 and o2}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
356 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
357
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
358
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
359 \begin{cfuncdesc}{PyObject*}{PyNumber_Xor}{PyObject *o1, PyObject *o2}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
360 Returns the bitwise exclusive or of \code{o1} by \code{o2} on success, or
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
361 {\NULL} on failure. This is the equivalent of the Python
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
362 expression: \code{o1\^{ }o2}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
363 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
364
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
365 \begin{cfuncdesc}{PyObject*}{PyNumber_Or}{PyObject *o1, PyObject *o2}
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
366 Returns the result or \code{o1} and \code{o2} on success, or {\NULL} on
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
367 failure. This is the equivalent of the Python expression:
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
368 \code{o1 or o2}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
369 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
370
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
371
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
372 \begin{cfuncdesc}{PyObject*}{PyNumber_Coerce}{PyObject *o1, PyObject *o2}
4258
b7e7eb5ef820 Fixed coerce docs
Guido van Rossum <guido@python.org>
parents: 4116
diff changeset
373 This function takes the addresses of two variables of type
b7e7eb5ef820 Fixed coerce docs
Guido van Rossum <guido@python.org>
parents: 4116
diff changeset
374 \code{PyObject*}.
b7e7eb5ef820 Fixed coerce docs
Guido van Rossum <guido@python.org>
parents: 4116
diff changeset
375
b7e7eb5ef820 Fixed coerce docs
Guido van Rossum <guido@python.org>
parents: 4116
diff changeset
376 If the objects pointed to by \code{*p1} and \code{*p2} have the same type,
b7e7eb5ef820 Fixed coerce docs
Guido van Rossum <guido@python.org>
parents: 4116
diff changeset
377 increment their reference count and return 0 (success).
b7e7eb5ef820 Fixed coerce docs
Guido van Rossum <guido@python.org>
parents: 4116
diff changeset
378 If the objects can be converted to a common numeric type,
b7e7eb5ef820 Fixed coerce docs
Guido van Rossum <guido@python.org>
parents: 4116
diff changeset
379 replace \code{*p1} and \code{*p2} by their converted value (with 'new'
b7e7eb5ef820 Fixed coerce docs
Guido van Rossum <guido@python.org>
parents: 4116
diff changeset
380 reference counts), and return 0.
b7e7eb5ef820 Fixed coerce docs
Guido van Rossum <guido@python.org>
parents: 4116
diff changeset
381 If no conversion is possible, or if some other error occurs,
b7e7eb5ef820 Fixed coerce docs
Guido van Rossum <guido@python.org>
parents: 4116
diff changeset
382 return -1 (failure) and don't increment the reference counts.
4340
2df62db366b7 Protect '&' signs with '\' in description of PyNumber_Coerce.
Guido van Rossum <guido@python.org>
parents: 4258
diff changeset
383 The call \code{PyNumber_Coerce(\&o1, \&o2)} is equivalent to the Python
4258
b7e7eb5ef820 Fixed coerce docs
Guido van Rossum <guido@python.org>
parents: 4116
diff changeset
384 statement \code{o1, o2 = coerce(o1, o2)}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
385 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
386
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
387
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
388 \begin{cfuncdesc}{PyObject*}{PyNumber_Int}{PyObject *o}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
389 Returns the \code{o} converted to an integer object on success, or
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
390 {\NULL} on failure. This is the equivalent of the Python
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
391 expression: \code{int(o)}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
392 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
393
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
394
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
395 \begin{cfuncdesc}{PyObject*}{PyNumber_Long}{PyObject *o}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
396 Returns the \code{o} converted to a long integer object on success,
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
397 or {\NULL} on failure. This is the equivalent of the Python
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
398 expression: \code{long(o)}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
399 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
400
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
401
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
402 \begin{cfuncdesc}{PyObject*}{PyNumber_Float}{PyObject *o}
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
403 Returns the \code{o} converted to a float object on success, or {\NULL}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
404 on failure. This is the equivalent of the Python expression:
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
405 \code{float(o)}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
406 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
407
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
408
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
409 \section{Sequence protocol}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
410
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
411 \begin{cfuncdesc}{int}{PySequence_Check}{PyObject *o}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
412 Return 1 if the object provides sequence protocol, and 0
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
413 otherwise.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
414 This function always succeeds.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
415 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
416
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
417
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
418 \begin{cfuncdesc}{PyObject*}{PySequence_Concat}{PyObject *o1, PyObject *o2}
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
419 Return the concatination of \code{o1} and \code{o2} on success, and {\NULL} on
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
420 failure. This is the equivalent of the Python
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
421 expression: \code{o1+o2}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
422 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
423
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
424
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
425 \begin{cfuncdesc}{PyObject*}{PySequence_Repeat}{PyObject *o, int count}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
426 Return the result of repeating sequence object \code{o} count times,
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
427 or {\NULL} on failure. This is the equivalent of the Python
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
428 expression: \code{o*count}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
429 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
430
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
431
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
432 \begin{cfuncdesc}{PyObject*}{PySequence_GetItem}{PyObject *o, int i}
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
433 Return the ith element of \code{o}, or {\NULL} on failure. This is the
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
434 equivalent of the Python expression: \code{o[i]}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
435 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
436
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
437
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
438 \begin{cfuncdesc}{PyObject*}{PySequence_GetSlice}{PyObject *o, int i1, int i2}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
439 Return the slice of sequence object \code{o} between \code{i1} and \code{i2}, or
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
440 {\NULL} on failure. This is the equivalent of the Python
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
441 expression, \code{o[i1:i2]}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
442 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
443
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
444
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
445 \begin{cfuncdesc}{int}{PySequence_SetItem}{PyObject *o, int i, PyObject *v}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
446 Assign object \code{v} to the \code{i}th element of \code{o}.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
447 Returns -1 on failure. This is the equivalent of the Python
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
448 statement, \code{o[i]=v}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
449 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
450
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
451 \begin{cfuncdesc}{int}{PySequence_DelItem}{PyObject *o, int i}
4093
f29fe71f11e6 Added documentation for PyObject_DelItem and PySequence_Del{Item,Slice}.
Guido van Rossum <guido@python.org>
parents: 3991
diff changeset
452 Delete the \code{i}th element of object \code{v}. Returns
f29fe71f11e6 Added documentation for PyObject_DelItem and PySequence_Del{Item,Slice}.
Guido van Rossum <guido@python.org>
parents: 3991
diff changeset
453 -1 on failure. This is the equivalent of the Python
f29fe71f11e6 Added documentation for PyObject_DelItem and PySequence_Del{Item,Slice}.
Guido van Rossum <guido@python.org>
parents: 3991
diff changeset
454 statement: \code{del o[i]}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
455 \end{cfuncdesc}
4093
f29fe71f11e6 Added documentation for PyObject_DelItem and PySequence_Del{Item,Slice}.
Guido van Rossum <guido@python.org>
parents: 3991
diff changeset
456
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
457 \begin{cfuncdesc}{int}{PySequence_SetSlice}{PyObject *o, int i1, int i2, PyObject *v}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
458 Assign the sequence object \code{v} to the slice in sequence
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
459 object \code{o} from \code{i1} to \code{i2}. This is the equivalent of the Python
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
460 statement, \code{o[i1:i2]=v}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
461 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
462
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
463 \begin{cfuncdesc}{int}{PySequence_DelSlice}{PyObject *o, int i1, int i2}
4093
f29fe71f11e6 Added documentation for PyObject_DelItem and PySequence_Del{Item,Slice}.
Guido van Rossum <guido@python.org>
parents: 3991
diff changeset
464 Delete the slice in sequence object, \code{o}, from \code{i1} to \code{i2}.
f29fe71f11e6 Added documentation for PyObject_DelItem and PySequence_Del{Item,Slice}.
Guido van Rossum <guido@python.org>
parents: 3991
diff changeset
465 Returns -1 on failure. This is the equivalent of the Python
f29fe71f11e6 Added documentation for PyObject_DelItem and PySequence_Del{Item,Slice}.
Guido van Rossum <guido@python.org>
parents: 3991
diff changeset
466 statement: \code{del o[i1:i2]}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
467 \end{cfuncdesc}
4093
f29fe71f11e6 Added documentation for PyObject_DelItem and PySequence_Del{Item,Slice}.
Guido van Rossum <guido@python.org>
parents: 3991
diff changeset
468
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
469 \begin{cfuncdesc}{PyObject*}{PySequence_Tuple}{PyObject *o}
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
470 Returns the \code{o} as a tuple on success, and {\NULL} on failure.
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
471 This is equivalent to the Python expression: \code{tuple(o)}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
472 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
473
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
474 \begin{cfuncdesc}{int}{PySequence_Count}{PyObject *o, PyObject *value}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
475 Return the number of occurrences of \code{value} on \code{o}, that is,
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
476 return the number of keys for which \code{o[key]==value}. On
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
477 failure, return -1. This is equivalent to the Python
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
478 expression: \code{o.count(value)}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
479 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
480
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
481 \begin{cfuncdesc}{int}{PySequence_In}{PyObject *o, PyObject *value}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
482 Determine if \code{o} contains \code{value}. If an item in \code{o} is equal to
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
483 \code{value}, return 1, otherwise return 0. On error, return -1. This
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
484 is equivalent to the Python expression: \code{value in o}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
485 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
486
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
487 \begin{cfuncdesc}{int}{PySequence_Index}{PyObject *o, PyObject *value}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
488 Return the first index for which \code{o[i]=value}. On error,
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
489 return -1. This is equivalent to the Python
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
490 expression: \code{o.index(value)}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
491 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
492
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
493 \section{Mapping protocol}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
494
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
495 \begin{cfuncdesc}{int}{PyMapping_Check}{PyObject *o}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
496 Return 1 if the object provides mapping protocol, and 0
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
497 otherwise.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
498 This function always succeeds.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
499 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
500
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
501
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
502 \begin{cfuncdesc}{int}{PyMapping_Length}{PyObject *o}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
503 Returns the number of keys in object \code{o} on success, and -1 on
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
504 failure. For objects that do not provide sequence protocol,
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
505 this is equivalent to the Python expression: \code{len(o)}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
506 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
507
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
508
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
509 \begin{cfuncdesc}{int}{PyMapping_DelItemString}{PyObject *o, char *key}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
510 Remove the mapping for object \code{key} from the object \code{o}.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
511 Return -1 on failure. This is equivalent to
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
512 the Python statement: \code{del o[key]}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
513 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
514
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
515
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
516 \begin{cfuncdesc}{int}{PyMapping_DelItem}{PyObject *o, PyObject *key}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
517 Remove the mapping for object \code{key} from the object \code{o}.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
518 Return -1 on failure. This is equivalent to
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
519 the Python statement: \code{del o[key]}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
520 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
521
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
522
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
523 \begin{cfuncdesc}{int}{PyMapping_HasKeyString}{PyObject *o, char *key}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
524 On success, return 1 if the mapping object has the key \code{key}
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
525 and 0 otherwise. This is equivalent to the Python expression:
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
526 \code{o.has_key(key)}.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
527 This function always succeeds.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
528 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
529
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
530
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
531 \begin{cfuncdesc}{int}{PyMapping_HasKey}{PyObject *o, PyObject *key}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
532 Return 1 if the mapping object has the key \code{key}
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
533 and 0 otherwise. This is equivalent to the Python expression:
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
534 \code{o.has_key(key)}.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
535 This function always succeeds.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
536 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
537
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
538
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
539 \begin{cfuncdesc}{PyObject*}{PyMapping_Keys}{PyObject *o}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
540 On success, return a list of the keys in object \code{o}. On
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
541 failure, return {\NULL}. This is equivalent to the Python
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
542 expression: \code{o.keys()}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
543 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
544
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
545
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
546 \begin{cfuncdesc}{PyObject*}{PyMapping_Values}{PyObject *o}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
547 On success, return a list of the values in object \code{o}. On
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
548 failure, return {\NULL}. This is equivalent to the Python
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
549 expression: \code{o.values()}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
550 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
551
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
552
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
553 \begin{cfuncdesc}{PyObject*}{PyMapping_Items}{PyObject *o}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
554 On success, return a list of the items in object \code{o}, where
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
555 each item is a tuple containing a key-value pair. On
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
556 failure, return {\NULL}. This is equivalent to the Python
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
557 expression: \code{o.items()}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
558 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
559
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
560 \begin{cfuncdesc}{int}{PyMapping_Clear}{PyObject *o}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
561 Make object \code{o} empty. Returns 1 on success and 0 on failure.
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
562 This is equivalent to the Python statement:
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
563 \code{for key in o.keys(): del o[key]}
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
564 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
565
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
566
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
567 \begin{cfuncdesc}{PyObject*}{PyMapping_GetItemString}{PyObject *o, char *key}
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
568 Return element of \code{o} corresponding to the object \code{key} or {\NULL}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
569 on failure. This is the equivalent of the Python expression:
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
570 \code{o[key]}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
571 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
572
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
573 \begin{cfuncdesc}{PyObject*}{PyMapping_SetItemString}{PyObject *o, char *key, PyObject *v}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
574 Map the object \code{key} to the value \code{v} in object \code{o}. Returns
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
575 -1 on failure. This is the equivalent of the Python
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
576 statement: \code{o[key]=v}.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
577 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
578
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
579
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
580 \section{Constructors}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
581
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
582 \begin{cfuncdesc}{PyObject*}{PyFile_FromString}{char *file_name, char *mode}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
583 On success, returns a new file object that is opened on the
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
584 file given by \code{file_name}, with a file mode given by \code{mode},
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
585 where \code{mode} has the same semantics as the standard C routine,
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
586 fopen. On failure, return -1.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
587 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
588
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
589 \begin{cfuncdesc}{PyObject*}{PyFile_FromFile}{FILE *fp, char *file_name, char *mode, int close_on_del}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
590 Return a new file object for an already opened standard C
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
591 file pointer, \code{fp}. A file name, \code{file_name}, and open mode,
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
592 \code{mode}, must be provided as well as a flag, \code{close_on_del}, that
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
593 indicates whether the file is to be closed when the file
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
594 object is destroyed. On failure, return -1.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
595 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
596
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
597 \begin{cfuncdesc}{PyObject*}{PyFloat_FromDouble}{double v}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
598 Returns a new float object with the value \code{v} on success, and
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
599 {\NULL} on failure.
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
600 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
601
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
602 \begin{cfuncdesc}{PyObject*}{PyInt_FromLong}{long v}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
603 Returns a new int object with the value \code{v} on success, and
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
604 {\NULL} on failure.
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
605 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
606
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
607 \begin{cfuncdesc}{PyObject*}{PyList_New}{int l}
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
608 Returns a new list of length \code{l} on success, and {\NULL} on
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
609 failure.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
610 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
611
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
612 \begin{cfuncdesc}{PyObject*}{PyLong_FromLong}{long v}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
613 Returns a new long object with the value \code{v} on success, and
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
614 {\NULL} on failure.
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
615 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
616
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
617 \begin{cfuncdesc}{PyObject*}{PyLong_FromDouble}{double v}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
618 Returns a new long object with the value \code{v} on success, and
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
619 {\NULL} on failure.
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
620 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
621
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
622 \begin{cfuncdesc}{PyObject*}{PyDict_New}{}
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
623 Returns a new empty dictionary on success, and {\NULL} on
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
624 failure.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
625 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
626
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
627 \begin{cfuncdesc}{PyObject*}{PyString_FromString}{char *v}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
628 Returns a new string object with the value \code{v} on success, and
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
629 {\NULL} on failure.
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
630 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
631
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
632 \begin{cfuncdesc}{PyObject*}{PyString_FromStringAndSize}{char *v, int l}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
633 Returns a new string object with the value \code{v} and length \code{l}
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
634 on success, and {\NULL} on failure.
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
635 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
636
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
637 \begin{cfuncdesc}{PyObject*}{PyTuple_New}{int l}
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
638 Returns a new tuple of length \code{l} on success, and {\NULL} on
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
639 failure.
4116
3190398ae533 Niceties by Fred
Guido van Rossum <guido@python.org>
parents: 4093
diff changeset
640 \end{cfuncdesc}
3991
cfb8b7bc0233 Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
641