Python を書いていると「変数名や関数名ってどうやって決めればいいの?」と迷うこと、ありますよね。
この記事では Python の識別子(変数名・関数名など) のルールを 実際にコードを書きながら 学んでいきます!
🎯 学習目標
- Python の識別子(変数名、関数名など)に使えるルールを知る
- 正しい識別子と間違った識別子を実際に試す
- PEP8 に基づいた推奨される命名規則を学ぶ
🏗 1. 識別子の基本ルール
Python では変数や関数の名前を 自由につけられるわけではありません。
次のルールを守る必要があります。
✅ 使えるもの
- アルファベット(a~z, A~Z)
- 数字(0~9)(先頭には使えない)
- アンダースコア(_)
❌ 使えないもの
- 数字から始める(例:
1st_var
❌) - Python の予約語(if, class, return など)
- 特殊文字(@, #, $, %, ! など)
- スペース(空白を含める)
✍️ 2. 実際に試してみよう!
実際に Python のコードを書いて、識別子のルールを試してみましょう!
⭕ 正しい識別子
次のコードを試して、エラーが出ないことを確認してください。
my_var = 10 # 小文字+アンダースコア(推奨)
MyVar = 20 # 大文字を含む(クラス名などに使うことが多い)
_variable = 30 # アンダースコアで始まる(非公開を示唆)
var123 = 40 # 数字を含む(先頭はダメ)
print(my_var, MyVar, _variable, var123)
❌ 間違った識別子
次のコードはエラーになります。実際に試して、エラーメッセージを確認しましょう。
# 1. 数字で始める(エラー)
1st_var = 100
# 2. スペースを含む(エラー)
my var = 200
# 3. 特殊文字を含む(エラー)
my@var = 300
# 4. 予約語を使う(エラー)
def = 400
🚀 3. 予約語を確認する
Python には 予約語(キーワード) があり、識別子として使えません。
予約語のリストを確認するには、次のコードを実行してみましょう!
import keyword
print(keyword.kwlist) # 予約語のリストを表示
実行すると、Python の予約語(if, def, class など)が一覧で表示されます。
これらの単語は 変数名や関数名に使えない ので注意しましょう!
🎨 4. PEP8 に基づく推奨される命名規則
Python には「PEP8」という コードの書き方ガイドライン があります。
識別子をどのようにつけるべきか、以下の表を参考にしてください。
種類 | 例 | 説明 |
---|---|---|
変数名 | my_variable |
小文字 + アンダースコア(スネークケース) |
関数名 | calculate_sum() |
小文字 + アンダースコア |
クラス名 | MyClass |
単語の先頭を大文字(パスカルケース) |
定数名 | MAX_VALUE |
全て大文字 + アンダースコア |
モジュール名 | math_tools.py |
小文字 + アンダースコア |
💡 PEP8 のポイント
- 変数や関数の名前は スネークケース(
my_variable
) にする - クラス名は パスカルケース(
MyClass
) にする - 定数(変えない値)は すべて大文字(
MAX_VALUE
) にする
PEP8 に沿った命名をすると、Python の コードが読みやすくなる ので、意識して書いてみましょう!
🎯 5. クイズ!正しい識別子を選ぼう
次の識別子の中で 正しいもの はどれでしょう?
考えてみて、Python で実際に試してみましょう!
_goodVar = 10
3rd_value = 20
Hello_World = 30
class = 40
$money = 50
calculateSum = 60
答えは・・・
✅ _goodVar
(OK)
✅ Hello_World
(OK)
✅ calculateSum
(OK)
❌ 3rd_value
(数字で始まるのはNG)
❌ class
(予約語なのでNG)
❌ $money
($
は使えない)
🔥 まとめ
- 識別子は「アルファベット」「数字」「_」のみOK(ただし先頭は数字NG)
- Python の予約語は識別子として使えない
- PEP8 に従って「スネークケース」「パスカルケース」を使おう
Python の識別子のルールを 実際にコードを書きながら学ぶ と、エラーが出るポイントもわかりやすくなります!
ぜひ Python の識別子ルールを覚えて、 読みやすいコード を書けるようにしましょう 🚀