ホームページ > バックエンド開発 > Python チュートリアル > Python コードでは「許可ではなく許しを求める」必要がありますか?

Python コードでは「許可ではなく許しを求める」必要がありますか?

Mary-Kate Olsen
リリース: 2024-12-10 11:07:16
オリジナル
806 人が閲覧しました

Should You

「許可ではなく許しを求める」の背後にある哲学

「許可ではなく許しを求める」というフレーズは、プログラミングを説明するためにコーディングでよく使用されます。事前に権限をチェックするのではなく、操作の実行を優先するスタイル。

Python コードでは、この原則は、条件ステートメントを使用して属性の存在や操作の有効性を検証する代わりに、操作を試行して、その結果生じる例外を処理する方が効率的であることを示唆しています。

サンプル シナリオと「許しを求める」 " アプローチ

オプションの属性バーを持つクラスを考えてみましょう。従来のプログラミングでは、属性を使用する前にその属性が存在するかどうかをチェックすることがあります:

if foo.bar:
    # Do stuff
ログイン後にコピー

ただし、「許しを求める」アプローチでは次のようにアドバイスします。

try:
    foo.bar  # Attempt to access the attribute
    # Do stuff    
except AttributeError:
    # Handle the error if the attribute doesn't exist
ログイン後にコピー

「Ask」の引数Forgiveness"

  • 同時実行性: マルチスレッド環境または外部リソースを処理する場合、権限チェックと操作の間でシステムの状態が変化する可能性があります。
  • 精度: 特定の権限チェックを定義するのは難しい場合があり、誤検知が発生する可能性があります。

オプション属性の例外

オプション属性の場合、受け入れられる Python のアプローチは、属性を None に初期化し、その属性をチェックすることです。明示的に存在:

if foo.bar is not None:
    # Handle the optional part
else:
    # Default handling
ログイン後にコピー

これにより、コードが明確になり、オプションを処理する意図が保証されます。属性は明白です。

以上がPython コードでは「許可ではなく許しを求める」必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート