Site icon imageTomoMemo.dev

Memo on programming. Provided by Tomo with passion.

[PEP8]Pythonのコーディング規約をざっくり理解

Icon in a callout block
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はいつでも受けれるらしいので受験してみる。

Powered by Tomo with passion.