from collections import Callable
class C:
pass
f = C()
print(callable(f))
C.__call__ = lambda *a: "works"
f = C()
print(callable(f))
print(f())
C.__call__ = "not callable"
f = C()
print(callable(f))
print(isinstance(f, Callable))
print(f())
ZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgQ2FsbGFibGUKCmNsYXNzIEM6CiAgICBwYXNzCgpmID0gQygpCnByaW50KGNhbGxhYmxlKGYpKQoKQy5fX2NhbGxfXyA9IGxhbWJkYSAqYTogIndvcmtzIgpmID0gQygpCnByaW50KGNhbGxhYmxlKGYpKQpwcmludChmKCkpCgoKQy5fX2NhbGxfXyA9ICJub3QgY2FsbGFibGUiCmYgPSBDKCkKcHJpbnQoY2FsbGFibGUoZikpCnByaW50KGlzaW5zdGFuY2UoZiwgQ2FsbGFibGUpKQpwcmludChmKCkp