属性の可用性の決定
Python では、オブジェクトの存在を確認せずにオブジェクトの属性にアクセスすると、AttributeError が発生する可能性があります。これを回避するには、属性にアクセスする前に属性が存在するかどうかを判断することが重要です。
hasattr() Function
属性を確認する 1 つの方法は、 hasattr() 関数。 2 つの引数を取ります:
属性が存在する場合は True を返し、hasattr() が便利です例外を発生させずにその存在を確認する必要がある場合。
a = SomeClass() if hasattr(a, 'property'): a.property
利点hasattr() の欠点
hasattr() を使用すると、例外をトリガーせずに属性の可用性を判断できるため、柔軟性が得られます。ただし、コードの複雑さがさらに増す可能性があります。
許可ではなく許しを求める
Python で一般的に使用される代替アプローチは、「ask」です。許可ではなく、許しを与える」という哲学。これには、属性にアクセスし、潜在的な AttributeError 例外を適切にキャッチすることが含まれます。
try: a.property except AttributeError: # Handle the absence of the attribute
このアプローチは、特に属性がほとんどの場合に存在する可能性が高い場合、一般に hasattr() を使用するよりも高速です。ただし、例外が発生したときに適切に処理することが重要です。
以上がPython で属性の可用性を判断する方法: `hasattr()` と「許可ではなく許しを求める」か?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。