Python の変数名には、構文的なルールと**スタイル上のルール(PEP8)**の2種類があります。以下にわかりやすくまとめます!
目次
✅ 構文的ルール(Pythonの文法として必須)
- ❗先頭は数字にできない
- 英字(A〜Z, a〜z)、数字(0〜9)、アンダースコア(_)が使用可能
- ✅ 例:
user1,_temp,data_list - ❌ NG:
1user,@name
- ✅ 例:
- Pythonのキーワード(予約語)は使えない
- ❌ 例:
class,def,for,if,True,Noneなど
- ❌ 例:
- 大文字と小文字は区別される(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 | 意味があいまいすぎる |
camelCase | Java風。Pythonでは推奨されない(snake_caseが標準) |
💡おすすめ命名パターン(参考)
| 意図 | 命名例 |
|---|---|
| カウント | count, num_users |
| フラグ | is_active, has_error |
| 一時変数 | temp, buffer(短いスコープならOK) |
必要であれば、「良い変数名と悪い変数名の例」一覧や、既存コードの変数名レビューもできますよ!