Python で「EAFP 原則を使用する」とはどういう意味ですか? 例を挙げていただけますか?
ベストアンサー1
から用語集:
許可を求めるよりも許しを求める方が簡単。この一般的なPythonコーディングスタイルは、有効なキーまたは属性が存在することを前提とし、その前提が間違っている場合は例外をキャッチします。この簡潔で高速なスタイルは、多くの
try
andexcept
ステートメントの存在が特徴です。このテクニックは、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 回検索する必要があり、読みやすさが若干劣ると考えられるかもしれません。