Python 模擬試験

PythonZen & PEP 8 模擬試験 第5回 問19・PEP 8 プログラミング上の推奨事項(プログラミング上の推奨事項)

文字列の連結

ループの中で多数の文字列をつなぎ合わせて、1 つの文字列を作るとき、PEP 8 が勧める書き方として、最も適切なものを1つ選べ。

  1. A

    ループの中で、s += part を繰り返して連結する。

  2. B

    文字列を使わず、すべての要素を、数値に変換する。

  3. C

    "".join(parts) で、リストの要素を一度に連結する。

  4. D

    連結せず、1 文字ずつ、別の変数に入れる。

正解と解説を見る

正解:C

多数の文字列の連結は、リストにためて "".join(...) でまとめる。+= の繰り返しは、実装に依存して遅くなることがあり、PEP 8 も避けるよう勧める。

PEP 8 のプログラミング上の推奨事項。
場面推奨避ける書き方
Noneとの比較x is Nonex == None
例外の捕捉具体的な例外を指定する裸の except:
型の判定isinstance(x, int)type(x) == int
空のシーケンスの判定if not seq:if len(seq) == 0:
関数を名前に束縛def f(x): ...f = lambda x: ...
前方一致s.startswith("ab")s[:2] == "ab"
リソースの管理with open(...) as f:close() を手で呼ぶ
returnの一貫性すべての経路で値を返す(返さないなら明示的に return None)値を返す経路と返さない経路の混在
文字列の連結''.join(parts)ループで s += part
tryの範囲例外が出る文だけを囲む大きなブロック全体を囲む

学習のポイント:CPython の最適化に頼らない。

この問題を演習で解く →

問題一覧へ

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