Python 模擬試験

PythonZen & PEP 8 模擬試験 第3回 問9・PEP 8 コードのレイアウト(インデント)

if 文の条件が長いとき

if の条件が複数行になるとき、PEP 8 が避けるよう勧めている書き方として、最も適切なものを1つ選べ。

  1. A

    継続行を、条件の開始位置にそろえて追加のインデントを付ける書き方

  2. B

    継続行のインデントが、if の本体のインデントと同じで、条件と本体の区別がつかない書き方

  3. C

    条件を変数に代入してから if に使う書き方

  4. D

    条件を短くするため、関数に切り出す書き方

正解と解説を見る

正解:B

条件を括弧の中で改行するときは、継続行を本体と区別できるようにインデントする。別の変数や関数にして、条件を短くする方法もある。

PEP 8 のインデントと継続行の規則。
項目規則
インデントの幅1段階につき空白4つ
タブと空白空白を使う。混在させない(Python 3 ではエラーになる)
括弧内の改行開き括弧の位置にそろえる、またはぶら下げインデントにする
ぶら下げインデント開き括弧の後ろには何も書かず改行し、次の行からインデントする(引数を1行目に置かない)
長い条件のif本文と区別できるよう、継続行を深くインデントするなどの工夫をする

学習のポイント:継続行の書き方は、PEP 8 でも複数の選択肢が許される。

この問題を演習で解く →

問題一覧へ

このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。