Python の識別子ルールをハンズオンで学ぼう!2.3

当サイトではアフィリエイト広告を利用しています。

リファレンス

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 の識別子ルールを覚えて、 読みやすいコード を書けるようにしましょう 🚀