summaryrefslogtreecommitdiffstats
path: root/Doc/c-api/concrete.rst
blob: 9558a4a583cba53245cf484cc07f2039c331ef96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
.. highlightlang:: c


.. _concrete:

**********************
Concrete Objects Layer
**********************

The functions in this chapter are specific to certain Python object types.
Passing them an object of the wrong type is not a good idea; if you receive an
object from a Python program and you are not sure that it has the right type,
you must perform a type check first; for example, to check that an object is a
dictionary, use :c:func:`PyDict_Check`.  The chapter is structured like the
"family tree" of Python object types.

.. warning::

   While the functions described in this chapter carefully check the type of the
   objects which are passed in, many of them do not check for *NULL* being passed
   instead of a valid object.  Allowing *NULL* to be passed in can cause memory
   access violations and immediate termination of the interpreter.


.. _fundamental:

Fundamental Objects
===================

This section describes Python type objects and the singleton object ``None``.

.. toctree::

   type.rst
   none.rst


.. _numericobjects:

Numeric Objects
===============

.. index:: object: numeric

.. toctree::

   long.rst
   bool.rst
   float.rst
   complex.rst


.. _sequenceobjects:

Sequence Objects
================

.. index:: object: sequence

Generic operations on sequence objects were discussed in the previous chapter;
this section deals with the specific kinds of sequence objects that are
intrinsic to the Python language.

.. XXX sort out unicode, str, bytes and bytearray

.. toctree::

   bytes.rst
   bytearray.rst
   unicode.rst
   tuple.rst
   list.rst


.. _mapobjects:

Container Objects
=================

.. index:: object: mapping

.. toctree::

   dict.rst
   set.rst


.. _otherobjects:

Function Objects
================

.. toctree::

   function.rst
   method.rst
   cell.rst
   code.rst


Other Objects
=============

.. toctree::

   file.rst
   module.rst
   iterator.rst
   descriptor.rst
   slice.rst
   memoryview.rst
   weakref.rst
   capsule.rst
   gen.rst
   coro.rst
   contextvars.rst
   datetime.rst