9. Python C Extensions

These examples demonstrate creating Python extensions in C for tasks requiring performance optimizations, such as mathematical computations, array processing, and string manipulations.


1. Simple "Hello, World!" C Extension

C Code (hello.c):

#include <Python.h>

static PyObject* hello_world(PyObject* self, PyObject* args) {
    printf("Hello, World!\n");
    Py_RETURN_NONE;
}

static PyMethodDef HelloMethods[] = {
    {"hello_world", hello_world, METH_VARARGS, "Prints Hello, World!"},
    {NULL, NULL, 0, NULL}
};

static struct PyModuleDef hellomodule = {
    PyModuleDef_HEAD_INIT,
    "hello",
    NULL,
    -1,
    HelloMethods
};

PyMODINIT_FUNC PyInit_hello(void) {
    return PyModule_Create(&hellomodule);
}

Python Setup Script (setup.py):

Build and Install:

Python Usage:


2. Adding Two Numbers

C Code (add.c):

Python Usage:


3. Computing Factorial

C Code (factorial.c):


4. String Reversal


5. Dot Product of Two Arrays


6. Finding Maximum Value in an Array


7. Summing an Array


8. Converting Fahrenheit to Celsius


9. Matrix Multiplication



Last updated