Pythonで定数を定義する方法!変更されない変数の書き方と命名ルール
生徒
「先生、Pythonで“変わらない数字”とか“決まった値”ってどうやって使うんですか?」
先生
「それは“定数”と呼ばれるものですね。Pythonでは少し独特な方法で使うんですよ。」
生徒
「変数とどう違うんですか?普通に`=(イコール)`で書いちゃダメなんですか?」
先生
「いい質問ですね!では、Pythonにおける定数の定義方法と、そのルールをわかりやすく見ていきましょう!」
1. 定数(ていすう)とは?
プログラミングで「定数(ていすう)」とは、一度決めたら途中で変更しない値のことを指します。たとえば「消費税率」や「1日の時間数」など、プログラム中ずっと同じ値のことです。
定数を使うと、間違えて値を変えてしまうリスクを減らすことができます。
2. Pythonでは定数をどう書くの?
Pythonには実は「定数専用の文法」はありません。でも、定数として使うためのルールがあります。
それはズバリ「全部大文字で書く」というスタイルです。これは慣習(かんしゅう)といって、みんながそうしているお約束みたいなものです。
たとえば、次のように書きます:
TAX_RATE = 0.1
HOURS_IN_A_DAY = 24
このように書くと、他の人も「これは定数だな」とわかるようになります。
3. 定数に使う名前のルール(命名規則)
定数の名前には、次のようなルールを守ると良いですよ。
- 全て大文字にする(例:
TAX) - 単語の区切りはアンダースコア(_)を使う(例:
MAX_SPEED) - 意味がわかりやすい名前にする(例:
PI、DEFAULT_FONT_SIZEなど)
これを「スネークケース(snake_case)」と呼ぶこともあります。��
4. 定数は変更できないの?
ここで重要なのが、Pythonの定数は実は“変更できてしまう”という点です。
つまり、書こうと思えばこうやって変えることができます:
PI = 3.14
PI = 3.1415 # こう書いてもエラーは出ません!
でも、これはマナー違反です!定数として宣言したら、絶対に書き換えないのがPythonのルールです。
5. 定数を使うメリット
定数を使うと、プログラムがとても読みやすく・安全になります。
- 意味がすぐにわかる(例:
PIは円周率) - 間違えて値を変えてしまうのを防げる
- あとで値を変更するときに、1か所直すだけでOK!
たとえばこんなコードがあります:
TAX_RATE = 0.1
price = 1000
total = price + (price * TAX_RATE)
print("税込み価格は", total, "円です")
税込み価格は 1100.0 円です
このように、TAX_RATEを一か所書き換えるだけで、他の計算も自動で変わります!
6. よくある定数の例
実際のプログラムでは、次のような値を定数としてよく使います:
PI = 3.14159(円周率)MAX_USERS = 100(最大ユーザー数)BASE_URL = "https://example.com"(ウェブサイトのアドレス)DEFAULT_COLOR = "blue"(デフォルトの色)
7. 定数をファイルにまとめる方法(上級者向けヒント)
ここでは簡単に紹介だけしますが、定数がたくさんある場合は「constants.py」のようなファイルを作って、importして使う方法もあります。
たとえば次のように定義して:
# constants.py
TAX_RATE = 0.1
SITE_NAME = "MySite"
別のファイルから次のように使えます:
from constants import TAX_RATE
print(TAX_RATE)
このように分けておくと、管理がしやすくなります。
まとめ
Pythonで定数を定義するというテーマは、一見すると単純なようでいて、実は多くの初学者がつまずきやすい重要な学習ポイントです。とくに、Pythonには専用の定数構文が存在しないため、どのような書き方や命名規則がふさわしいのかを理解することが、実務的なコードを書く上でも大きな意味を持ちます。定数を大文字で書くという慣習は、ほかのプログラムを書く仲間やチームメンバーにとって読みやすく、間違いを防ぎ、理解しやすい構造を保つための大切なルールです。さらに、定数を使う場面は非常に多く、消費税率、円周率、ウェブサイトの基本設定、アプリの動作に影響するパラメータなど、あらゆる場面で活用されます。このように用途が広いからこそ、正しい名前の付け方や役割を理解しておくことが、長くコードを運用する際に役立ちます。
また、Pythonでは定数が書き換え可能であるという特徴も忘れてはいけません。コード上では書き換えが可能であっても、実務では「変更しない」ことがルールであり、変更してしまうと予期しない動作を引き起こす可能性があります。そのため、定数をどのように管理するか、どこに定義するか、専用ファイルにまとめるべきか、といった設計の工夫も重要です。特に、大規模なアプリケーションや複数人で開発するようなプロジェクトでは、定数をまとめたファイルを用意することによって、管理効率が向上し、設定値をどこからでも参照しやすくなります。
実際に定数を使った例として、税率を保持する変数や、一日に何時間あるかといった基本的な数値をコードに書き込む際、それらをあらかじめ定数として定義しておけば、変更が必要になった場合でも一箇所を書き換えるだけでプログラム全体に反映できます。これは、保守性や拡張性の向上に大きく貢献します。しっかりとした命名ルールに従い、どのような値なのかをひと目で理解できるようにしておくことで、読み手にとってわかりやすく、バグの発生を抑える効果も期待できます。Pythonで定数を書く目的や意味を知っておくと、より効率的で整理されたコードを書く助けとなり、プログラムの品質向上につながるのです。
次に示すサンプルプログラムは、定数を使う場面をより深く理解するための例です。税率や基本設定などを定数として宣言することで、後から変更する際の管理が容易になり、コード全体の見通しが良くなることが体感できるでしょう。
# 定数を宣言する例
TAX_RATE = 0.1
DISCOUNT_RATE = 0.05
SITE_TITLE = "My Web Service"
price = 2000
tax_price = price + (price * TAX_RATE)
discount_price = price - (price * DISCOUNT_RATE)
print("税込み価格:", tax_price)
print("割引後の価格:", discount_price)
print("サイト名:", SITE_TITLE)
上記のように、大文字で書かれた定数は読み手に安心感を与え、値が途中で変わらない前提でコードを読み進めることができます。特にプログラムの中で複数箇所で使用される値ほど、定数として切り出しておくことで保守性が高まり、長期間にわたって安定したコード運用ができるようになります。日常的にPythonを書く中で、定数を意識的に使う習慣を身につけておくことは必ず役に立つでしょう。
さらに、定数を専用ファイルにまとめる方法も活用すると、設定値を整理しやすくなり、プロジェクト全体の構造を把握しやすくなります。定数ファイルを用意することで、プロジェクトのどこに設定値があるのかをすぐに確認でき、変更が必要な場合にもわかりやすく管理できます。特に、複数のモジュールやファイルから共通の値を使う際に有効で、開発チーム全体のコードの統一性を保つうえでも役立ちます。
生徒
「先生、Pythonで定数を大文字で書く理由がようやくわかりました!読みやすさと安全性のためなんですね。」
先生
「その通りです。定数はプログラムの中で何度も使う値なので、目立つ形で書いておくと、読み手が一目で理解できるようになります。」
生徒
「あと、定数は書き換えられるっていうのも驚きでした。でも、ルールとして書き換えないのが大切なんですね。」
先生
「そうです。Pythonは柔軟なので、書き換えようと思えばできますが、定数として宣言したものは触らないという姿勢が重要なのです。」
生徒
「たしかに、いろんなファイルで参照する値を定数にしておくと管理しやすいですね。大規模なプログラムでも役立ちそうです。」
先生
「その感想はとても良いですね。プログラムは小さくても大きくても、定数を使う習慣を付けることで、読みやすくて整理されたコードになりますよ。」