Mercurial > cpython-lru_cache-weakref
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 |
| rev | line source |
|---|---|
| 4116 | 1 \newcommand{\NULL}{\code{NULL}} |
| 2 | |
| 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 | 68 \section{Object Protocol} |
| 69 | |
| 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 | 74 \end{cfuncdesc} |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
75 |
| 4116 | 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 | 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 | 81 \end{cfuncdesc} |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
82 |
| 4116 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 112 \begin{cfuncdesc}{int}{PyObject_SetAttr}{PyObject *o, PyObject *attr_name, PyObject *v} |
| 113 Set the value of the attribute named \code{attr_name}, for | |
| 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 179 needed, then args may be {\NULL}. Returns the result of the |
| 180 call on success, or {\NULL} on failure. This is the equivalent | |
| 181 of the Python expression: \code{apply(o, args)}. | |
| 182 \end{cfuncdesc} | |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
183 |
| 4116 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 226 \end{cfuncdesc} |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
227 |
| 4116 | 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 | 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 | 236 \begin{cfuncdesc}{PyObject*}{PyObject_GetItem}{PyObject *o, PyObject *key} |
| 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 | 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 | 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 | 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 | 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 | 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 | 257 \section{Number Protocol} |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
258 |
| 4116 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 299 \begin{cfuncdesc}{PyObject*}{PyNumber_Divmod}{PyObject *o1, PyObject *o2} |
| 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 | 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 | 306 \begin{cfuncdesc}{PyObject*}{PyNumber_Power}{PyObject *o1, PyObject *o2, PyObject *o3} |
| 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 | 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 | 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 | 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 | 319 \begin{cfuncdesc}{PyObject*}{PyNumber_Positive}{PyObject *o} |
| 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 | 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 | 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 | 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 | 331 \begin{cfuncdesc}{PyObject*}{PyNumber_Invert}{PyObject *o} |
| 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 352 \begin{cfuncdesc}{PyObject*}{PyNumber_And}{PyObject *o1, PyObject *o2} |
| 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 | 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 | 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 | 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 | 363 \end{cfuncdesc} |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
364 |
| 4116 | 365 \begin{cfuncdesc}{PyObject*}{PyNumber_Or}{PyObject *o1, PyObject *o2} |
| 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 | 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 | 372 \begin{cfuncdesc}{PyObject*}{PyNumber_Coerce}{PyObject *o1, PyObject *o2} |
| 4258 | 373 This function takes the addresses of two variables of type |
| 374 \code{PyObject*}. | |
| 375 | |
| 376 If the objects pointed to by \code{*p1} and \code{*p2} have the same type, | |
| 377 increment their reference count and return 0 (success). | |
| 378 If the objects can be converted to a common numeric type, | |
| 379 replace \code{*p1} and \code{*p2} by their converted value (with 'new' | |
| 380 reference counts), and return 0. | |
| 381 If no conversion is possible, or if some other error occurs, | |
| 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 | 384 statement \code{o1, o2 = coerce(o1, o2)}. |
| 4116 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 402 \begin{cfuncdesc}{PyObject*}{PyNumber_Float}{PyObject *o} |
| 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 | 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 | 409 \section{Sequence protocol} |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
410 |
| 4116 | 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 | 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 | 418 \begin{cfuncdesc}{PyObject*}{PySequence_Concat}{PyObject *o1, PyObject *o2} |
| 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 | 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 | 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 | 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 | 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 | 432 \begin{cfuncdesc}{PyObject*}{PySequence_GetItem}{PyObject *o, int i} |
| 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 | 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 | 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 | 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 | 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 | 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 | 449 \end{cfuncdesc} |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
450 |
| 4116 | 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 | 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 | 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 | 461 \end{cfuncdesc} |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
462 |
| 4116 | 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 | 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 | 469 \begin{cfuncdesc}{PyObject*}{PySequence_Tuple}{PyObject *o} |
| 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 | 472 \end{cfuncdesc} |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
473 |
| 4116 | 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 | 479 \end{cfuncdesc} |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
480 |
| 4116 | 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 | 485 \end{cfuncdesc} |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
486 |
| 4116 | 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 | 491 \end{cfuncdesc} |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
492 |
| 4116 | 493 \section{Mapping protocol} |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
494 |
| 4116 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 558 \end{cfuncdesc} |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
559 |
| 4116 | 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 | 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 | 567 \begin{cfuncdesc}{PyObject*}{PyMapping_GetItemString}{PyObject *o, char *key} |
| 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 | 571 \end{cfuncdesc} |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
572 |
| 4116 | 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 | 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 | 580 \section{Constructors} |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
581 |
| 4116 | 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 | 587 \end{cfuncdesc} |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
588 |
| 4116 | 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 | 595 \end{cfuncdesc} |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
596 |
| 4116 | 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 | 599 {\NULL} on failure. |
| 600 \end{cfuncdesc} | |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
601 |
| 4116 | 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 | 604 {\NULL} on failure. |
| 605 \end{cfuncdesc} | |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
606 |
| 4116 | 607 \begin{cfuncdesc}{PyObject*}{PyList_New}{int l} |
| 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 | 610 \end{cfuncdesc} |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
611 |
| 4116 | 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 | 614 {\NULL} on failure. |
| 615 \end{cfuncdesc} | |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
616 |
| 4116 | 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 | 619 {\NULL} on failure. |
| 620 \end{cfuncdesc} | |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
621 |
| 4116 | 622 \begin{cfuncdesc}{PyObject*}{PyDict_New}{} |
| 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 | 625 \end{cfuncdesc} |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
626 |
| 4116 | 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 | 629 {\NULL} on failure. |
| 630 \end{cfuncdesc} | |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
631 |
| 4116 | 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 | 634 on success, and {\NULL} on failure. |
| 635 \end{cfuncdesc} | |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
636 |
| 4116 | 637 \begin{cfuncdesc}{PyObject*}{PyTuple_New}{int l} |
| 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 | 640 \end{cfuncdesc} |
|
3991
cfb8b7bc0233
Added doco for abstract interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
641 |
