Geometry Approximation of an Integral
You are just re-implementing the abs built-in here. (If a number is negative make it positive):
    xd = self.xf - self.xi 
    yd = self.yf - self.yi 
    if xd &lt; 0:
        xd = xd * -1 
    if yd &lt; 0:
        yd = yd * -1 

In general I do not understand why you have a whole class defined. I think this should be written more compactly because the actual calculations performed are very simple.
To be more user friendly I would have a function having as input the domain of integration and the function to integrate like:
def weighted_area(xrange, yrange, function, precision):

An argument should be the precision in case the user wants to change the integration step.