Pythonの定数の定義方法!初心者向けに慣習的な書き方と変更を防ぐコツを解説
生徒
「Pythonで変えてほしくない値って、どうやって作ればいいんですか?」
先生
「それは『定数(ていすう)』と呼ばれるものだね。Pythonにも定数を作る方法があるよ。ただし少し特徴があるんだ。」
生徒
「定数って何ですか? 普通の変数とは違うんですか?」
先生
「そうだね。変数はあとから変えられるけど、定数は『変えない約束の値』なんだ。Pythonでは少し特別な書き方で定数を表すんだよ。」
1. Pythonにおける「定数」とは?
定数(ていすう)とは、「一度決めたら変えない値」のことです。たとえば、「1年は12か月」や「円周率は3.14」といったように、いつでも同じで変わらない数字や文字のことを言います。
Python(パイソン)では、実は「絶対に変えられない値」を強制する仕組みはありません。でも、プログラマー同士で「この変数は変えませんよ」と伝えるための**ルール(慣習)**があります。
2. 定数の書き方は「全部大文字」が基本!
Pythonで定数を表すときは、次のように**変数名をすべて大文字で書く**のが一般的です。これを読む人が「あ、これは定数だな」とすぐにわかるためです。
PI = 3.14
MAX_USERS = 100
SITE_NAME = "Kami School"
このように大文字で書いておけば、「この値は変えない予定なんだな」と他の人も理解できます。
ただし、実はあとから値を変更することも**できてしまう**ので注意が必要です。
PI = 3.14
PI = 3.14159 # 実は書き換えられてしまう
print(PI)
3.14159
Pythonはやさしい言語なので、「ダメ!」とは言ってくれません。でも、「定数は変えないで使おう」というマナーがあります。
3. 定数はどこに書けばいいの?
定数は、プログラムの**一番上のほう**にまとめて書くのが一般的です。
たとえば、こんなふうにします。
# 定数の定義(上のほうに書く)
TAX_RATE = 0.1
def calculate_price(price):
return price * (1 + TAX_RATE)
print(calculate_price(1000))
1100.0
このように書いておくと、あとで「TAX_RATEはどこにあるかな?」と探しやすくなります。
4. 定数の変更を防ぐための工夫
「Pythonでは定数が変更できてしまう」と言いましたが、実は「変更しないように見せる」工夫もあります。
たとえば、「クラス」という仕組みを使って、定数をまとめることもできます。
class Config:
API_KEY = "ABC123"
TIMEOUT = 30
このように書いておくと、定数をまとめて管理できて便利です。
print(Config.API_KEY)
ABC123
もちろん、これも実は書き換えることはできますが、意図的にしない限り、ミスで変更することは減ります。
5. 定数はどんなときに使うの?
定数は、たとえばこんなときに使います。
- 送料や消費税など、ルールで決まっていて変わらない数字
- アプリ名やバージョンなど、動作中に変更しない情報
- 外部とやり取りするための特別な「キー」や「URL」
たとえば、送料が一律500円なら、次のように定数にします。
SHIPPING_FEE = 500
def total_price(item_price):
return item_price + SHIPPING_FEE
こうしておけば、送料が変わったときにSHIPPING_FEEを1か所変えるだけで済みます。
6. 定数に関する注意点
最後に、Pythonで定数を使うときの注意点をいくつか紹介します。
- 定数は全部大文字(例:
MAX_LENGTH) - 値は基本的に変更しない(あくまでマナー)
- プログラムの上のほうに書く(見つけやすい)
- まとめて管理したいときはクラスを使う
このようなルールを守ることで、自分にも他の人にもわかりやすいプログラムになります。
まとめ
この記事では、Pythonにおける定数の定義方法や大文字で書く慣習、変更を防ぐための工夫、そしてクラスを使った定数管理などを幅広く整理しながら学びました。定数という考え方は、初心者にとっては単なる変数との違いが分かりづらい部分ですが、実際には「変えない値をわかりやすく扱うための大事な仕組み」です。特にPythonでは絶対的に変更不可にする文法が存在しないため、読み手に意図を伝える書き方が重要となります。大文字で表記する習慣は、世界中のPython開発者が共通して使う重要なスタイルであり、プログラムの読みやすさや保守性の向上に役立ちます。さらに、定数をプログラム冒頭にまとめることで構造が明確になり、関係者全員が理解しやすい統一的な書き方を実現できます。 また、クラスを活用した定数管理は、複数の設定値をまとめて扱う際に便利で、APIキーやタイムアウトなど複数の設定項目を整理して記述するのに適しています。こうした工夫により、誤操作による値の変更を防ぎ、プログラム全体の安全性や再利用性を高められます。実務やアプリ開発でも頻繁に使われる書き方なので、早い段階で身につけておくことで、より分かりやすく信頼性の高いPythonコードを書けるようになります。さらに、定数は消費税や送料といった固定値の計算にも頻繁に利用され、値を一か所で管理できる点が大きな魅力となります。 以下に、この記事内容を踏まえたサンプルコードとして、クラスと大文字定数を組み合わせた実用的な定数管理の書き方を示します。実際の開発現場でも使われるスタイルなので、ぜひ参考にしながら自分のプロジェクトにも取り入れてみてください。
サンプルプログラム:クラスでまとめて管理する定数
class AppConfig:
APP_NAME = "KAMI SYSTEM"
VERSION = "1.0.0"
DEFAULT_TAX_RATE = 0.1
DEFAULT_SHIPPING_FEE = 500
def calculate_total(price):
return int(price * (1 + AppConfig.DEFAULT_TAX_RATE) + AppConfig.DEFAULT_SHIPPING_FEE)
print(AppConfig.APP_NAME)
print(calculate_total(3000))
このようにクラスを使うことで、複数の設定値をひとまとめに管理しやすくなり、変更箇所の特定もしやすくなります。特に大規模なプロジェクトでは、設定用のクラスを作ることが一般的で、可読性と保守性が大きく向上します。定数という概念を正しく理解することで、変わらない値を適切に扱い、意図しないバグを防ぐための基礎を身につけることができるでしょう。Pythonの柔軟さゆえに定数が強制されないという特徴があるからこそ、このような「読み手に伝えるスタイル」が重要なのです。 今日学んだ内容をふまえて、自分のコードでどこに定数を使うべきか、どんな場面で定数が役立つのかを意識しながら書いてみると、プログラム全体がぐっと見やすく整理されたものになっていきます。また、Pythonの定数は他の言語と比べてルールが緩やかであるため、開発者の思いやりや整理整頓の感覚がコードに表れます。今後の学習でも、定数の扱い方を意識しながらコードを書くことを習慣にしていきましょう。
生徒
「今日は定数についていっぱい学べました!Pythonでは絶対に変えられないわけじゃないけど、大文字で書いたり、クラスでまとめたりする工夫が大事なんですね。」
先生
「その通りだよ。Pythonは自由度が高いからこそ、開発者同士のルールや書き方がすごく大切なんだ。特に定数はプログラムの要になることが多いから、読みやすくしておくととても役に立つよ。」
生徒
「値を一か所にまとめられるのも便利ですね。消費税とか送料も定数にしておけば、あとから変わったときにすぐ対応できますし!」
先生
「そうだね。実務でもよく使う工夫だよ。今日学んだ書き方をどんどん使っていけば、読みやすくて安全なコードが書けるようになるはずだよ。」