1. ホーム
  2. python

[解決済み] PythonにおけるEAFPの原則とは何ですか?

2022-04-24 12:44:25

質問

Pythonで"EAFPの原則を使用する"とはどういう意味でしょうか?また、その例を教えてください。

どのように解決するのですか?

からの 用語集 :

許可より許しを請う方が簡単だ。この一般的なPythonのコーディングスタイルは、有効なキーや属性が存在することを仮定し、その仮定が誤りであることが証明された場合に例外を捕捉するものです。このクリーンで高速なスタイルの特徴は、多くの tryexcept ステートメントを使用します。このテクニックは LBYLスタイル C言語など他の多くの言語に共通する。

例としては、辞書のキーにアクセスしようとした場合です。

EAFPです。

try:
    x = my_dict["key"]
except KeyError:
    # handle missing key

LBYLです。

if "key" in my_dict:
    x = my_dict["key"]
else:
    # handle missing key

LBYLバージョンは、辞書内のキーを2回検索する必要があり、また、若干可読性が低いと考えられるかもしれない。