Pythonの定数の定義方法!慣習的な書き方と変更を防ぐ方法
生徒
「定数ってなんですか?変数とは違うんですか?」
先生
「定数は、変えないように使う特別な変数のことだよ。」
生徒
「じゃあ、Pythonではどうやって定数を作るんですか?」
先生
「それでは、Pythonにおける定数の基本を見ていこう!」
1. 定数とは?
Pythonの「定数(ていすう)」とは、基本的に一度決めたら途中で変えない値のことです。変数はあとから中身を変えられますが、定数はずっと同じ値を使い続けます。
たとえば、「円周率(えんしゅうりつ)」や「消費税率」など、途中で変わると困るものに定数を使うと便利です。
2. Pythonでは定数が作れない?
実はPythonには「定数専用の書き方」はありません。でも安心してください。Pythonでは「決まりごと(慣習)」として定数っぽく使う方法があります。
その方法は、変数名をすべて大文字にすることです。たとえば、
PI = 3.14
TAX_RATE = 0.1
このように書くことで「これは定数として使うつもりですよ」と、プログラムを読む人に伝えることができます。
3. 定数は変更できる?
Pythonでは、変数も定数も実は仕組みは同じなので、定数もあとから変更できてしまいます。
PI = 3.14
print(PI) # 3.14
PI = 3.14159
print(PI) # 3.14159 に変わってしまう
このように、名前は大文字でも中身を変えることができます。だから「定数だから変えないでね」というルールを守るのは、人間のマナーに近いです。
4. 定数を守る方法はないの?
Pythonでは、定数を完全に守る方法はありませんが、「定数っぽく使う工夫」はできます。
そのひとつが、モジュールを分ける方法です。たとえば、「settings.py」というファイルに定数だけを書いて、ほかのファイルから読み込んで使います。
# settings.py
API_KEY = "abcdefg12345"
# main.py
import settings
print(settings.API_KEY)
こうすることで、「このファイルの中身は勝手に書きかえないようにしよう」という意識が生まれます。
5. 定数をうっかり変えてしまわない工夫
初心者のうちは、定数のつもりで書いた変数を、うっかり書きかえてしまうこともあります。そうならないために、次のような工夫があります。
- 定数は大文字で書く
- 定数だけを別ファイルにまとめる
- 定数をコメントで「変更しないこと」と書いておく
たとえば、
# この値は絶対に変更しないでください
MAX_USERS = 100
このように書くことで、自分や他の人がうっかり書きかえないように気をつけることができます。
6. 定数を使うと何がいいの?
定数を使うと、プログラムがとても読みやすくなります。
たとえば、次のようなコードがあったとします。
price = 1000
total = price * 1.1
これだけだと、「1.1って何だろう?」と考えないといけません。でも、定数を使えば意味がすぐにわかります。
TAX_RATE = 0.1
price = 1000
total = price * (1 + TAX_RATE)
このように定数を使うことで、何を計算しているのかがすぐにわかり、プログラムのミスも減らせます。
7. 定数と変数の違いをしっかり覚えよう
最後に、定数と変数の違いをもう一度整理しましょう。
- 変数:あとから値を変えることができる
- 定数:途中で値を変えない(ようにする)
Pythonでは、定数のしくみはありませんが、大文字で書くことで「これは定数ですよ」と伝えることができます。
しっかり区別して使えば、読みやすくて安全なプログラムを書くことができますよ。