3-3. 命名規則(変数・関数・クラス・定数)

テクニック

結論
PEP 8 の命名規則は「誰が見ても同じ意図を理解できる」ことを目的としています。
snake_case / CamelCase / ALL_CAPS を使い分けるのが基本ルールです。


命名規則の全体像

対象規則
変数・関数snake_case(小文字+アンダースコア)user_name, get_data()
クラスCamelCase(単語の先頭を大文字に)UserProfile, DataLoader
定数ALL_CAPS(大文字+アンダースコア)MAX_RETRY, DEFAULT_PORT
モジュール・パッケージ小文字+アンダースコアdata_utils.py, my_package
プライベート変数先頭にアンダースコア_hidden_value

変数・関数名(snake_case)

#良い例

user_name = "Taro"
def get_user_info(user_id: int) -> dict:
return {"id": user_id, "name": "Taro"}

#悪い例(CamelCaseは関数や変数には使わない)

def GetUserInfo(UserID):
return {"Id": UserID}

クラス名(CamelCase)

# 良い例
class UserProfile:
    def __init__(self, name: str):
        self.name = name

# 悪い例(snake_caseはクラス名に使わない)
class user_profile:
    ...

定数(ALL_CAPS)

# 良い例
MAX_CONNECTIONS = 10
DEFAULT_TIMEOUT = 5

# 悪い例(小文字やCamelCaseは不可)
maxConnections = 10

特殊な命名

  • プライベート変数:先頭にアンダースコアを付ける(例 _internal_var
  • 特殊メソッド:両端にダブルアンダースコア(例 __init__, __str__
  • エイリアス:インポート時に短縮するのはOK import numpy as np

よくある初心者の間違い

  1. 関数名にCamelCaseを使う
    → JavaやC#の慣習に引きずられる
  2. 変数を1文字で書く
    x, y は数学以外では避ける
  3. 定数を小文字で書く
    → 意図が伝わらない

実務でのポイント

  • 自動補完が効くエディタを活用して命名をミスしにくくする
  • 一貫性を最優先:チーム全員が同じルールに従うことが大事
  • コメントより命名:コメントを書くより、わかりやすい名前を付ける方が有効

まとめ

  • 変数・関数 → snake_case
  • クラス → CamelCase
  • 定数 → ALL_CAPS
  • Pythonの命名は「意味が伝わること」と「一貫性」が最重要
タイトルとURLをコピーしました