from inspect import ismethod

class Call:
    def __call__(self):
        pass

class Foo:
    def __init__(self):
        self.var = Call()

    def method(self):
        pass

foo = Foo()


def method_exists(instance, method):
    return hasattr(instance, method) and ismethod(getattr(instance, method))
    

print(method_exists(foo, "method"))
print(method_exists(foo, "var"))