関数かどうかをチェックする方法


  1. タイプのチェックによる方法: 関数かどうかを判定するために、type()関数を使用できます。以下はPythonの例です。
def is_function(obj):
    return type(obj) == type(lambda: None)
result = is_function(print)
print(result)  # True
result = is_function("Hello")
print(result)  # False
  1. callable()関数を使用する方法: callable()関数は、オブジェクトが呼び出し可能かどうかを判定するために使用されます。関数は呼び出し可能なオブジェクトであるため、この関数を使用して関数かどうかを判定できます。
result = callable(print)
print(result)  # True
result = callable("Hello")
print(result)  # False
  1. オブジェクトの属性をチェックする方法: 関数かどうかを判定するために、オブジェクトの属性をチェックする方法もあります。関数は通常、__call__属性を持っています。以下はPythonの例です。
def is_function(obj):
    return hasattr(obj, '__call__')
result = is_function(print)
print(result)  # True
result = is_function("Hello")
print(result)  # False

これらの方法を使用すると、与えられたオブジェクトが関数かどうかを判定することができます。シンプルで簡単なコード例を提供しましたので、参考にしてください。