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では、定数のしくみはありませんが、大文字で書くことで「これは定数ですよ」と伝えることができます。
しっかり区別して使えば、読みやすくて安全なプログラムを書くことができますよ。
まとめ
Pythonにおける定数の考え方を振り返る
この記事では、Pythonにおける定数の扱い方について、基礎から丁寧に確認してきました。Pythonには他のプログラミング言語のように「この値は絶対に変更できない」という仕組みとしての定数は用意されていません。しかし、その代わりに、慣習的なルールを守ることで定数として安全に扱う方法が広く使われています。 定数とは、プログラムの途中で値が変わると困るものを表現するための考え方です。円周率や税率、最大人数や設定値など、意味を持った数値をわかりやすく管理するために定数は重要な役割を果たします。Pythonでは変数と同じ仕組みを使いながらも、名前をすべて大文字で書くことで「これは定数として使うものだ」と明確に意思表示します。
定数が変更できてしまう理由と注意点
Pythonの定数は、あくまでも「変更しないという約束」によって成り立っています。そのため、文法的にはあとから値を書きかえることができてしまいます。これはPythonが柔軟で書きやすい言語である反面、書き手の意識がとても重要になる部分です。 大文字で書かれた変数を見たら、そこには「この値は変更しない」という意味が込められていると理解することが大切です。チーム開発や将来の自分のためにも、このルールを守ることで、バグの少ない読みやすいプログラムにつながります。
定数を別ファイルで管理するメリット
定数を守るための工夫として、設定専用のファイルにまとめる方法も紹介しました。定数だけを書いたファイルを用意し、必要な場所から読み込んで使うことで、「ここは設定を書く場所だ」という意識が自然と生まれます。 特にAPIキーや設定値、共通で使う数値などは、ひとつのファイルに集約しておくことで管理がしやすくなります。値を変更する必要が出てきた場合も、修正箇所が明確になるため、作業ミスを防ぐことができます。
定数を使ったサンプルプログラム
定数を使うことで、数値の意味が明確になり、コード全体の読みやすさが向上します。次のように、数値を直接書くのではなく、意味のある名前を持つ定数を使うことがポイントです。
# 定数の定義
TAX_RATE = 0.1
SHIPPING_FEE = 500
price = 3000
total_price = price * (1 + TAX_RATE) + SHIPPING_FEE
print(total_price)
このように書いておくと、あとからコードを見返したときにも「これは税率」「これは送料」と一目で理解できます。数値の意味を考え直す必要がなくなり、修正や拡張もしやすくなります。
定数を使う習慣がプログラムを強くする
定数を意識して使うことは、初心者のうちから身につけておきたい大切な習慣です。小さなプログラムでも、定数と変数をしっかり使い分けることで、コードの品質は大きく変わります。 Pythonは自由度が高い言語だからこそ、こうした基本的なルールを守ることが、読みやすく安全なプログラムにつながります。定数は単なる書き方の工夫ではなく、考え方そのものだと理解しておきましょう。
生徒:Pythonには定数がないって聞いて、最初は不安でしたけど、大文字で書く理由がよくわかりました。
先生:そうですね。仕組みとしては変数と同じですが、名前の付け方で意思を伝えるのがPythonらしいところです。
生徒:定数を別のファイルにまとめると、変更しちゃいけないって自然に意識できますね。
先生:その感覚はとても大切です。設定値を一か所に集めるだけで、ミスはかなり減ります。
生徒:数値をそのまま書くより、定数にしたほうが意味がわかりやすいのも実感できました。
先生:それが定数を使う一番のメリットです。読みやすいコードは、正しいコードにつながります。
生徒:これからは、大事な値はちゃんと定数として書くようにします。
先生:その意識を持ち続ければ、確実にプログラミングが上達しますよ。