4. コーディング規約

Pythonの理念は、「シンプルで読みやすく、美しいコード」を重視することです。 プログラミング言語のPerlには、「There's More Than One Way To Do It.」(やり方は一つじゃない)という格言があります。 Pythonにも格言があり 「PEP 20 – The Zen of Python」 には、「明示は暗黙に勝る」「シンプルは複雑に勝る」「可読性は重要」などが掲げられており、誰が読んでも理解しやすいコードを書くことが奨励されています。 このような設計思想により、Pythonは初心者にも扱いやすいプログラミング言語とされています。

主に下記があります。

可読性の向上

  • 誰が書いたコードでも、読みやすく理解しやすいようにする

  • チーム開発やオープンソースプロジェクトでの共同作業を円滑にする

スタイルの統一

  • インデント、変数名、関数名、空白の使い方などのルールを定め、コードの見た目を統一

  • 複数人が同じルールで記述することで、「慣れた見た目」を維持できる

バグの予防

  • 曖昧な書き方を避けることで、潜在的なバグの原因となる表現を防ぐ

ツールとの連携

  • 自動フォーマッタ(例:black, autopep8)や静的解析ツール(例:flake8)が PEP8 に準拠しているため、コード品質を機械的に保てる

このように、PEP8は「Pythonコードを書く際の作法」を定めたガイドラインであり、個人でもチームでも、より良いPythonプログラミングの基盤となるものです。


PEP(Python Enhancement Proposal): Pythonの新機能や改善案を提案・記録するための公式文書です。

種類

内容

技術的PEP

新機能の追加、文法や標準ライブラリの変更など

情報提供PEP

スタイルガイドやプロセス文書(例:PEP8)

プロセスPEP

開発プロセスや意思決定の方法に関する提案


4.1. PEP8 スタイルガイド

Pythonには、PEP8(Python Enhancement Proposal 8)という、公式スタイルガイド(コードの書き方のルール)があります。 PEP8は、「コードの可読性と一貫性を高めること」を目的としたスタイルガイドです。

例)カンマの後ろのスペースが異なるコード

スタイルガイドに従う
print(1, 2, 3)

スタイルガイドに従ってない
print(1,2,3)

PEP 8で定義されているルール スタイルガイドであるPEP 8で定義されているルールは、大きく3つに分類できます。

  • コードのレイアウトに関するルール

  • コメントに関するルール

  • 命名規約に関するルール

代表的なルールの例

  • インデント: スペース4つ

  • 行の長さ: 最大79文字まで

  • 空白の使い方 a = b + c(余計な空白は禁止)

Python標準のスタイルガイド ─ PEP 8

PEP 8

https://www.python.org/dev/peps/pep-0008/

邦訳ドキュメント

https://pep8-ja.readthedocs.io/


命名規約

一般的な命名の表記方法は次のとおりです。

表記方法

説明

CamelCase

単語の先頭の文字を大文字にする (CapWords. CapitalizedWords, StudlyCapsとも呼ばれる)

lowercase

すべての文字を小文字にする

lower_case_with_underscores

単語すべてを小文字にし、それらをアンダースコアでつなげる (snake_caseとも呼ばれる)

UPPERCASE

すべての文字を大文字にする

UPPER_CASE_WITH_UNDERSCORES

単語すべてを大文字にし、それらをアンダースコアでつなげる

PEP8での命名規約は下記となります。

用途

スタイル

用例

パッケージとモジュールの名前

lowercase

sysytem, datetime

クラスの名前

CamelCase

TestCase, HTTPRequest

関数や変数の名前

lowercase または lower_case_with_underscores

serialize_response, is_connected

定数

UPPERCASE または UPPER_CASE_WITH_UNDERSCORE

MAX_OVERFLOW, TOTAL

例外の名前

CamelCase, 末尾にError

ClientApiError

PEP8の命名規約で重視されているのは「実装よりも使い方を表した名前」にすることです。 命名に迷ったときは、標準ライブラリや公開されているサードパーティライブラリの命名を参考にしてみるのもよいです。


4.2. Pythonの理念の特徴まとめ

特徴

内容

読みやすさ重視

誰が書いても・読んでも理解しやすいコードを目指す

シンプルさ

できるだけ短く簡潔に書けることを大事にする

明示的な設計

「意図が伝わるコード」を書かせる設計

学びやすさ

初学者にもやさしい文法とエラーメッセージ

一貫性と自由のバランス

決まりはあるが、必要以上に縛らない


4.3. 補助ツール

PEP8を補助するツールとして下記があります。 コードエディターや開発環境に設定をしてコードスタイルの整形の補助をしています。


4.4. 参考URL