17db96d56Sopenharmony_ci.. highlight:: c
27db96d56Sopenharmony_ci
37db96d56Sopenharmony_ci
47db96d56Sopenharmony_ci.. _concrete:
57db96d56Sopenharmony_ci
67db96d56Sopenharmony_ci**********************
77db96d56Sopenharmony_ciConcrete Objects Layer
87db96d56Sopenharmony_ci**********************
97db96d56Sopenharmony_ci
107db96d56Sopenharmony_ciThe functions in this chapter are specific to certain Python object types.
117db96d56Sopenharmony_ciPassing them an object of the wrong type is not a good idea; if you receive an
127db96d56Sopenharmony_ciobject from a Python program and you are not sure that it has the right type,
137db96d56Sopenharmony_ciyou must perform a type check first; for example, to check that an object is a
147db96d56Sopenharmony_cidictionary, use :c:func:`PyDict_Check`.  The chapter is structured like the
157db96d56Sopenharmony_ci"family tree" of Python object types.
167db96d56Sopenharmony_ci
177db96d56Sopenharmony_ci.. warning::
187db96d56Sopenharmony_ci
197db96d56Sopenharmony_ci   While the functions described in this chapter carefully check the type of the
207db96d56Sopenharmony_ci   objects which are passed in, many of them do not check for ``NULL`` being passed
217db96d56Sopenharmony_ci   instead of a valid object.  Allowing ``NULL`` to be passed in can cause memory
227db96d56Sopenharmony_ci   access violations and immediate termination of the interpreter.
237db96d56Sopenharmony_ci
247db96d56Sopenharmony_ci
257db96d56Sopenharmony_ci.. _fundamental:
267db96d56Sopenharmony_ci
277db96d56Sopenharmony_ciFundamental Objects
287db96d56Sopenharmony_ci===================
297db96d56Sopenharmony_ci
307db96d56Sopenharmony_ciThis section describes Python type objects and the singleton object ``None``.
317db96d56Sopenharmony_ci
327db96d56Sopenharmony_ci.. toctree::
337db96d56Sopenharmony_ci
347db96d56Sopenharmony_ci   type.rst
357db96d56Sopenharmony_ci   none.rst
367db96d56Sopenharmony_ci
377db96d56Sopenharmony_ci
387db96d56Sopenharmony_ci.. _numericobjects:
397db96d56Sopenharmony_ci
407db96d56Sopenharmony_ciNumeric Objects
417db96d56Sopenharmony_ci===============
427db96d56Sopenharmony_ci
437db96d56Sopenharmony_ci.. index:: pair: object; numeric
447db96d56Sopenharmony_ci
457db96d56Sopenharmony_ci.. toctree::
467db96d56Sopenharmony_ci
477db96d56Sopenharmony_ci   long.rst
487db96d56Sopenharmony_ci   bool.rst
497db96d56Sopenharmony_ci   float.rst
507db96d56Sopenharmony_ci   complex.rst
517db96d56Sopenharmony_ci
527db96d56Sopenharmony_ci
537db96d56Sopenharmony_ci.. _sequenceobjects:
547db96d56Sopenharmony_ci
557db96d56Sopenharmony_ciSequence Objects
567db96d56Sopenharmony_ci================
577db96d56Sopenharmony_ci
587db96d56Sopenharmony_ci.. index:: pair: object; sequence
597db96d56Sopenharmony_ci
607db96d56Sopenharmony_ciGeneric operations on sequence objects were discussed in the previous chapter;
617db96d56Sopenharmony_cithis section deals with the specific kinds of sequence objects that are
627db96d56Sopenharmony_ciintrinsic to the Python language.
637db96d56Sopenharmony_ci
647db96d56Sopenharmony_ci.. XXX sort out unicode, str, bytes and bytearray
657db96d56Sopenharmony_ci
667db96d56Sopenharmony_ci.. toctree::
677db96d56Sopenharmony_ci
687db96d56Sopenharmony_ci   bytes.rst
697db96d56Sopenharmony_ci   bytearray.rst
707db96d56Sopenharmony_ci   unicode.rst
717db96d56Sopenharmony_ci   tuple.rst
727db96d56Sopenharmony_ci   list.rst
737db96d56Sopenharmony_ci
747db96d56Sopenharmony_ci
757db96d56Sopenharmony_ci.. _mapobjects:
767db96d56Sopenharmony_ci
777db96d56Sopenharmony_ciContainer Objects
787db96d56Sopenharmony_ci=================
797db96d56Sopenharmony_ci
807db96d56Sopenharmony_ci.. index:: pair: object; mapping
817db96d56Sopenharmony_ci
827db96d56Sopenharmony_ci.. toctree::
837db96d56Sopenharmony_ci
847db96d56Sopenharmony_ci   dict.rst
857db96d56Sopenharmony_ci   set.rst
867db96d56Sopenharmony_ci
877db96d56Sopenharmony_ci
887db96d56Sopenharmony_ci.. _otherobjects:
897db96d56Sopenharmony_ci
907db96d56Sopenharmony_ciFunction Objects
917db96d56Sopenharmony_ci================
927db96d56Sopenharmony_ci
937db96d56Sopenharmony_ci.. toctree::
947db96d56Sopenharmony_ci
957db96d56Sopenharmony_ci   function.rst
967db96d56Sopenharmony_ci   method.rst
977db96d56Sopenharmony_ci   cell.rst
987db96d56Sopenharmony_ci   code.rst
997db96d56Sopenharmony_ci
1007db96d56Sopenharmony_ci
1017db96d56Sopenharmony_ciOther Objects
1027db96d56Sopenharmony_ci=============
1037db96d56Sopenharmony_ci
1047db96d56Sopenharmony_ci.. toctree::
1057db96d56Sopenharmony_ci
1067db96d56Sopenharmony_ci   file.rst
1077db96d56Sopenharmony_ci   module.rst
1087db96d56Sopenharmony_ci   iterator.rst
1097db96d56Sopenharmony_ci   descriptor.rst
1107db96d56Sopenharmony_ci   slice.rst
1117db96d56Sopenharmony_ci   memoryview.rst
1127db96d56Sopenharmony_ci   weakref.rst
1137db96d56Sopenharmony_ci   capsule.rst
1147db96d56Sopenharmony_ci   frame.rst
1157db96d56Sopenharmony_ci   gen.rst
1167db96d56Sopenharmony_ci   coro.rst
1177db96d56Sopenharmony_ci   contextvars.rst
1187db96d56Sopenharmony_ci   datetime.rst
1197db96d56Sopenharmony_ci   typehints.rst
120