値が呼び出し可能かどうかをチェックするために hasattr を使わない

メタデータ

ID: python-best-practices/use-callable-not-hasattr

言語: Python

重大度: Notice

カテゴリー: ベストプラクティス

説明

オブジェクトが __getattr__ を再定義しているかもしれないので、関数が呼び出し可能かどうかをチェックするために hasattr を使ってチェックしないでください。代わりに callable() を使用してください。

詳細はこちら

非準拠コードの例

hasattr(x, '__call__')  # callable を使用します

準拠コードの例

callable(x)