Pythonの定数を定義する方法!慣習とモジュールを活用した書き方
生徒
「Pythonの定数って、どうやって書くんですか?他の言語だとconst
とか使いますよね?」
先生
「とてもいい疑問ですね。Pythonにはconst
というキーワードはありませんが、定数として扱うための慣習やモジュールがあります。具体的に見ていきましょう。」
生徒
「わかりました!慣習とモジュールの両方について教えてください。」
先生
「では、まず慣習から見て、その後にconst
モジュールの例も紹介しますね。」
1. Pythonでの定数の基本
Pythonでは、変数に代入するときに特別なキーワード(const
など)は使いません。ですが、「大文字で書いた変数は定数として扱う」という慣習があります。
たとえば、次のように書きます。
PI = 3.1415926535
MAX_USERS = 100
このようにすべて大文字で書くことで、「この変数は定数として扱ってね」という意味を周りの人に伝えています。
2. Pythonで定数を作るときの注意点
Pythonには「定数」を強制する仕組みはありません。つまり、PI
の値をあとで別の値に変えることもできます。これは「再代入できる」という意味です。たとえば次のように。
PI = 3.14
print(PI)
PI = 3.1415
print(PI)
出力結果は以下のようになります。
3.14
3.1415
このように書けてしまうのがPythonの特徴です。
3. なぜPythonには定数がないの?
Pythonの開発者たちは「コードを書く人が自由に決めていい」と考えています。そのため、強制的な定数はありません。代わりに、「定数として扱いたいものは大文字で書く」というお約束を守ります。
例えば、「学校の校則」と似ています。先生が「制服はこの色です」と言っても、必ず従わないといけないわけではないけれど、みんなが従うのが暗黙のルールです。
4. モジュールを活用して定数を管理しよう
定数をたくさん使うプログラムでは、専用のモジュール(ファイル)を作って、定数をまとめて管理すると便利です。たとえば、constants.py
というファイルに次のように書きます。
# constants.py
PI = 3.1415926535
MAX_USERS = 100
SITE_TITLE = "Python学習サイト"
そして、メインのプログラムファイルでこの定数モジュールを読み込みます。
import constants
print(constants.PI)
print(constants.MAX_USERS)
print(constants.SITE_TITLE)
出力結果は以下のようになります。
3.1415926535
100
Python学習サイト
このようにモジュールを分けると、プログラムがスッキリしますし、保守もしやすくなります。
5. 定数を変更されないように工夫しよう
Pythonでは、プログラム上で定数を書き換えることは技術的に可能です。でも、意図しない変更を避けたいときは、次のような方法があります。
例えば、クラスを使って定数を管理する方法です。
class _Const:
PI = 3.1415926535
MAX_USERS = 100
constants = _Const()
print(constants.PI)
print(constants.MAX_USERS)
このやり方だと、constants.PI
の値を簡単に変更しにくくできます。厳密にロックはできないですが、コードを見た人に「これは定数です」とアピールできます。
6. 定数の便利な使い道を知ろう
定数を使うと、次のようなメリットがあります。
- プログラム全体の意味がわかりやすくなる
- 同じ値を何度も書かなくてすむ
- 修正が必要なときに、一か所だけ変えればいい
例えば、税率や最大人数、サイト名などは定数にしておくと便利です。
7. まとめて覚えよう
Pythonの定数は、厳密には「変えられない値」という仕組みではありません。だけど、大文字で書いた変数や、モジュールを活用することで、定数として安全に管理できます。
「大文字で書いたら定数だよ」とチームのみんなに伝えることが大事です。そして、モジュールに分けることで、より見やすくなります。