Python 100Days Challenge Day24
多くは言えないが、所属している会社のバックエンド言語や技術がphp, LaravelからAWS CDKを使ったマイクロサービスへ変わっていくことに際して、Pythonを学び始めた。
社内のコーディング規約作りにもつながるよう、PEP8について学んでいく。
PEP8の概要
- Python Enhancement Proposal8
- Pythonのコーディングにおいてベースとなるガイドラインのこと
- 読みやすく、かつ第三者へ共有しやすくなるためのルールとして定義されている
ベースとなる5つのルール
- インデント
- 4つのスペースを使う
- 行の先頭にスペースを入れてコード構造をわかりやすくすること
- 行の長さ
- 1行の長さは79文字以内にすること
- コードの読みづらさを予防する
- 空行
- 関数やクラス間には空行を入れる
- コードが読みやすくなる
- インポート
- インポート文はファイルの一番上にまとめること
- スペースの使い方
- 余計なスペースはいらない
- カンマのあとにスペースは入れなくていい
これらを踏まえてコードを書いてみるとこうなる
# import文はファイルの一番上
import statistics
# 関数と関数の間は空行を入れてみやすくすること
def alcurate_average(numbers):
if not numbers:
return 0
# 余計なスペースは要らん
average = statistics.mean(numbers)
return average
# メイン処理
# カンマのあとにスペースは入れなくていい
numbers = [10,20,30,40,50]
average = calculate_average(numbers)
print(f"平均は {average} です")
>
平均は 30 です
PEP8はあくまでもガイドラインなので、厳密に全てのルールに従う必要はない。
「どれだけコードが読みやすいか」これを意識すること。
PEP8に準拠したテストがあるらしい。
PythonZenはいつでも受けれるらしいので受験してみる。