Pythonにおける変数宣言の方法・ルールと、変数の命名ルール及びデータ型の解説を行います。
変数はPythonに限らず全てのプログラミング言語における共通知識ですので、理解できていない方は必ずこのページで整理しておきましょう。
Pythonをマスターするための超・基本知識ばかりです。
是非、最後までご覧ください。
【前提】変数とは?
プログラミングにおける変数(variable)とは、データを扱うメモリ領域のことを指します。メモリ領域というと言葉が難しくなるため、変数は「箱」に例えて説明されることが一般的です。

この「箱」には、数字や文字列、日付など様々な値を入れることができます。
「箱」の中の値を足し算してみたり、「箱」の中の値を画面に表示させてみたり、「箱」の中の値に応じて処理を変えてみたり、様々な用途で利用することができます。
変数について基本となる知識を知りたい方は、以下の記事をご覧ください。
Python:変数の宣言方法
Pythonにおける変数の宣言は非常に簡単です。
(変数名)=(初期値)
変数と初期値を=(イコール)で結ぶだけでOK。
a = 100 # 変数宣言(変数a / 初期値100) print(a) # 画面に100が表示されます
ちなみに、ここでの=は「等しい」という意味ではありません。「代入する」という意味です。
プログラミング初心者ほど間違ったイメージを持ってしまいがちなので、注意して理解しましょう。
変数のみで宣言はできる?(初期値なしはOK?)
Pythonでは、変数のみで宣言することはできません。
必ず、初期値の指定をする必要があります。
JavaScriptなど他の言語では、変数だけを宣言しておき中身はからっぽにすることもできますが、PythonではそれはNGです。
// 初期値あり let sample = 1; // 初期値なし let sample;
一度に複数の変数を宣言する方法
上記基本形に加えて、Pythonでも一度に複数の変数を宣言することができます。
sample = 100 test1 = test2 = 200 test3,test4 = 300,400
もちろん、1つ1つ変数を宣言していっても動きは同じ。
sample = 100 test1 = 200 test2 = 200 test3 = 300 test4 = 400
見やすい書き方、意味のまとまりを考えてうまく使い分けましょう。
次は変数の命名ルールを確認します。
変数の命名ルール
Pythonの変数で利用できる文字は英語・数字・_(アンダースコア)が基本です。
実は、それ以外に日本語や特殊文字なども一部利用可能なようですが、利用に際して留意事項があるのと実践的ではないため、基本は英語・数字・アンダースコアを利用すると覚えておけばOK。
ただし、変数の先頭に数字を用いるのはNGです。エラー(SyntaxError: invalid syntax)となりますので、注意が必要です。
abcdfeg = 100 a_b_c_d = 200 _abc_e_ = 300 _12345a = 400 1test = 100 # エラーになります。 00000 = 200 # エラーになります。
大文字の利用は?
ここまでの例では、すべて小文字のアルファベットしか利用していないことにお気づきでしょうか?Pythonでは慣例的に変数には小文字の英語しか用いません。
では、大文字を利用する場面はあるのでしょうか?
答えは、変数を定数的に利用するタイミングです。
Pythonでは、定数という概念がありません。そのため、定数を定義するための文が存在しないのです。
そのため、定数と変数を区別する方法として、定数として扱う場合に「大文字で記述する」という慣例が生まれました。もちろん、変数に大文字のアルファベットを用いて命名しても仕組み上の問題は発生しません。
hensu = 100 # 変数の定義⇒アルファベットの小文字 TIESU = 200 # 定数の定義⇒アルファベットの大文字
予約語はもちろん利用不可
予約語とは、既にPythonにおいて何らかの意味を持つ単語です。
assert del global not with async elif if or yield 他
予約語と被る名前を変数に定義することはできません。
Python:変数のデータ型
変数の基本で学んだ通り、変数には文字型や数値型といった様々なデータ型が存在します。
C言語やABAPなどでは、値を代入する前にデータ型を事前に定義する必要がありましたが、Pythonでは変数を利用するタイミングで自動的にデータ型が決められます。
この自動的にデータ型が決定される仕組みを「動的型付け」と呼びます。
動的型付けの仕組み
以下のコードをご覧ください。
b = 100 c = "こんにちは"
この場合、変数"b" は数値型に。変数"c" は文字型として扱われます。
これは、初期値「100」と「こんにちは」という値をPython自身が何型であるかを判断してくれるためです。
a = 1 b = 10 print(a+b)
このサンプルコードの結果は「11」となります。
一方で、以下のように記述すると結果は「110」となります。
a = "1" b = "10" print(a+b)
変数"a" と変数"b" をPythonが文字列とみなしたため、加算ではなく「結合」をしたことによる結果です。
このように、Pythonでは変数のデータ型を強く意識する必要がありません。
ただし、全く意識しなくて良いというわけではありません。例えば、以下のように異なるデータ型の変数をあつかう際には注意が必要です。
a = 1 # 数値型 b = "2" # 文字型 print(a+b) # TypeError: unsupported operand type(s) for +: 'int' and 'str'
JavaScriptも、Pythonと同じ動的型付け言語です。
変数の開放(削除)
一度宣言した変数は、後から削除することもできます。
変数を削除するには「del」を利用します。
a = 100 del a print(a) # NameError: name 'a' is not defined
わざわざ変数を削除する目的としては、メモリの解放です。
変数はあくまでも、メモリですので使いすぎるとパフォーマンスを悪化させる原因となります。変数が増えすぎて、プログラムの実行速度に影響を与えていそうな場合は、「del」を用いて変数を削除するという案を考えても良いかもしれません。
ただし、よほどのことがない限り「del」は使わないはずです。
一応、こんなのもあるんだ!という豆知識程度に覚えておけばOKです。
Pythonを1から学習したい方は
Pythonをより実践的に学びたい―。実際にコーディングをしながら学びたい―。独学に限界を感じている―。
そんな方には、無料体験/オンライン完結もあるプログラミングスクールで学ぶのがおすすめです。都度検索しながら知識を補完していくのではなく、1から体系立てて学ぶことで短時間・かつ効率的にスキルハックすることが可能です。
各プログラミングスクールの特徴をまとめた記事をこちらに記載しておきますので、是非ご覧ください。