how does python manage memory code example

Example 1: python memory usage

import sys
a, b, c,d = "abcde" ,"xy", 2, 15.06
print(sys.getsizeof(a))
print(sys.getsizeof(b))
print(sys.getsizeof(c))
print(sys.getsizeof(d))

#Running the above code gives us the following result
38
35
24
24

Example 2: python memory usage

import sys 
variable = 30 
print(sys.getsizeof(variable)) # 24

Example 3: free function in python

PyObject *res;
char *buf = (char *) malloc(BUFSIZ); /* for I/O */

if (buf == NULL)
    return PyErr_NoMemory();
...Do some I/O operation involving buf...
res = PyBytes_FromString(buf);
free(buf); /* malloc'ed */
return res;