Pythonでは、指定のオブジェクトが呼び出し可能であるかを判定するためにcallable関数があります。
callable
次のようにして判定を行います。
import sys
def func_test():
print('function')
class ClassTest():
pass
str_test = 'str'
print(callable(sys))
print(callable(func_test))
print(callable(ClassTest))
print(callable(str_test))
False True True False
sysはモジュールであるため、呼び出し可能なオブジェクトではありません。文字列も同様でFalseが返ります。関数やメソッド、クラスは呼び出し可能なので「 () 」で呼び出すことができます。
