What are they used at the C level for?
To return them to Python. You write
Py_INCREF(Py_True); return Py_True;
or
result = c ? Py_True : Py_False; Py_INCREF(result); return result;
just as you return None. That saves atleast one function call.
Py_True, of course, *is* 1. There is no proper boolean type.
Regards, Martin