Determine local maximum from given points
Don't use "list" as a variable name, since it is a python function.
Don't initialize it a list and append to it, if you can
just create it and populate it with one line.
Don't call a function more than once, if you don't need to.
Use a loop with a break statement, instead of all the elif statements

original=mkPoint3D(x,y)
z1=mkPoint3D(x-d,y)
z2=mkPoint3D(x+d,y)
z3=mkPoint3D(x,y-d)
z4=mkPoint3D(x,y+d)

point_list = [original, z1, z2, z3, z4]

maxz = maxPoint(point_list).z

if maxz == original.z:
    print (" The local ...")

else:
    for next_point in point_list[1:]:
        if maxz == next_point.z:
            matching_point = next_point
            break

    hillClimb(matching_point.x, matching_point.y, d)