Python の変数名には、構文的なルールとスタイル上のルール(PEP8)の2種類があります。

Python の変数名には、構文的なルールと**スタイル上のルール(PEP8)**の2種類があります。以下にわかりやすくまとめます!


目次

✅ 構文的ルール(Pythonの文法として必須)

  1. 先頭は数字にできない
  2. 英字(A〜Z, a〜z)、数字(0〜9)、アンダースコア(_)が使用可能
    • ✅ 例: user1, _temp, data_list
    • ❌ NG: 1user, @name
  3. Pythonのキーワード(予約語)は使えない
    • ❌ 例: class, def, for, if, True, None など
  4. 大文字と小文字は区別される(case-sensitive)
    • user, User, USER はすべて別の変数

✏️ スタイル上のルール(PEP8:Python公式スタイルガイド)

🐍 通常の変数名

  • 小文字+必要ならアンダースコア:snake_case
  • ✅ 例: user_name, total_score, max_value

📦 クラス名

  • 単語の先頭を大文字に:PascalCase
  • ✅ 例: UserProfile, ImageProcessor

🔒 特殊な変数名

用途説明
プライベート変数_variable慣習上「内部用」扱い
強制名前変更(ネームマングリング)__variableクラス外からアクセスしづらくなる
特殊変数__init__, __str__Pythonが予約した「マジックメソッド」

🚫 避けるべき命名例

変数名問題点
l, O, I数字と間違いやすい (1, 0)
data, info意味があいまいすぎる
camelCaseJava風。Pythonでは推奨されない(snake_caseが標準)

💡おすすめ命名パターン(参考)

意図命名例
カウントcount, num_users
フラグis_active, has_error
一時変数temp, buffer(短いスコープならOK)

必要であれば、「良い変数名と悪い変数名の例」一覧や、既存コードの変数名レビューもできますよ!

よかったらシェアしてね!
目次