All function, type and macro definitions needed to use the Python/C API are included in your code by the following line:
This implies inclusion of the following standard headers: <stdio.h>, <string.h>, <errno.h>, and <stdlib.h> (if available).
All user visible names defined by Python.h (except those defined by the included standard headers) have one of the prefixes `Py' or `_Py'. Names beginning with `_Py' are for internal use only. Structure member names do not have a reserved prefix.
Important: user code should never define names that begin with `Py' or `_Py'. This confuses the reader, and jeopardizes the portability of the user code to future Python versions, which may define additional names beginning with one of these prefixes.