Python での関数変数の検出
「x」という名前の変数があり、それが関数を指しているかどうかを判断したいとします。 「x」の型をチェックするとそれが関数であることがわかりますが、isinstance(x, function) を使用しようとすると失敗します。ここで callable() が役に立ちます。
Python 2.x および Python 3.2 :
callable(x)
3.2 より前の Python 3.x:
hasattr(x, '__call__')
types.FunctionTypes や Inspection.isfunction などの以前のアプローチには制限があります。 C で実装されている組み込み関数など、Python 以外の関数の場合は False を返します。
型をチェックしたりコンテナに適合させる代わりに、オブジェクトが呼び出し可能かどうかをオブジェクトに「尋ねる」のが最善です。 call 属性を探しています。これにより、実装に関係なく、関数を正確に識別できます。
以上がPython で変数が関数を参照しているかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。