ホームページ  >  記事  >  バックエンド開発  >  Python で変数が関数を参照しているかどうかを確認するにはどうすればよいですか?

Python で変数が関数を参照しているかどうかを確認するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-18 20:04:03415ブラウズ

How to Check if a Variable Refers to a Function in Python?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。