当コラムでは、PythonZen & PEP 8 検定試験(こちらでオンライン受験できます)で出題されている問題の解説を行なっています。当コラムシリーズを読んで自信がついたら、ぜひ試験に挑戦してみてくださいね。
今回のコラムで解説する試験問題はこちらです。
問題
PEPやPEP 8に関する説明が間違っているものを、次の選択肢の中から選びなさい。
- 「PEP」は「Python Enhancement Proposal」の略語である。
- PEPはPythonコミュニティに対して情報を提供し、新しい機能の説明をする設計書である。
- PEPは内容が変更されることがある
- PEP 8は、PythonコードとC実装のコードのスタイルガイドを示している。
解答のヒント
PEP 8の全体像に関する問題になっています。PEPには、PEP 8以外にも数多くのナンバーが存在します。PEP 0にすべてのPEPの目次が、PEP 1にはすべてのPEPに共通認識となるPEPの目的やガイドラインが書かれていますので、こちらも参照しておきましょう。
まずは、PEP 1の「What is a PEP?」を読んでみましょう。
PEP stands for Python Enhancement Proposal.
PEPはPython Enhancement Proposalの略語です。
A PEP is a design document providing information to the Python community, or describing a new feature for Python or its processes or environment.
それぞれのPEPは、Pythonコミュニティに情報を提供したり、Pythonやプロセスや環境に関する新しい機能を記述しておくための、設計ドキュメントです。
次に、PEP 1の「PEP Maintenance」を読んでみましょう。
Active (Informational and Process) PEPs may be updated over time to reflect changes to development practices and other details. The precise process followed in these cases will depend on the nature and purpose of the PEP in question.
「Activeステータス(InformationalタイプやProcessタイプ)のPEPは、開発プラクティスやその他の細かい変更を反映するために、時間の経過とともに更新される場合があります。」
最後に、PEP 8の「Introduction」を読んでみましょう。
This document gives coding conventions for the Python code comprising the standard library in the main Python distribution. Please see the companion informational PEP describing style guidelines for the C code in the C implementation of Python.
「このドキュメントは、主なPythonディストリビューションの標準ライブラリを構成するPythonコードのコーディング規則を示しています。PythonのC実装におけるCコードのスタイルガイドラインについて解説している関連PEP(PEP 7)の方も参照してください。」
正解はこちら
ガイドラインには、ルールとして従わなくてはいけないこと(must)、推奨されること(should)、各ルールの適用例・非適用例(cases)が書いてあります。ルールを機械的に覚えるだけではなく、なぜこのルールがあるのかを意識していくと、理解が深まりますね。
自信がついてきたら PythonZen & PEP 8 検定試験 で実際に試験を受けて、正解を当ててみましょう。
そして、みなさんのPython開発にも活かしていただけると嬉しいです。