【Python】変数宣言(定数宣言)・型・命名ルールを3分で整理!

Python

Pythonにおける変数宣言の方法と、変数の命名ルール及びデータ型を3分でまとめます。

変数はPythonに限らず全てのプログラミング言語における共通知識ですので、基本的な理解をしていないとコーディングは非常に困難。決して難しい内容ではありませんので、この機会に丁寧に整理しておきましょう。

このページで学べる内容
  • 【前提】変数とは?
  • Pythonにおける変数の宣言方法
  • 変数の命名ルール
  • 変数のデータ型―動的型付けについて
  • 変数の削除(廃棄)方法

Pythonをマスターしたい方にとっては、知らないと恥ずかしい超基本知識です。是非、最後までご覧ください。

スポンサーリンク

【前提】変数とは?

プログラミングにおける変数(variable)とは、データを扱うメモリ領域のことを指します。

メモリ領域というと言葉が難しいですが、変数は「箱」に例えて説明することができます。

変数には、例えば数字や文字列、日付など様々な値を入れることができます。

この「箱」には、数字や文字列、日付など様々な値を入れることができます。

「箱」の中の値を足し算してみたり、「箱」の中の値を画面に表示させてみたり、「箱」の中の値に応じて処理を変えてみたり、様々な用途で利用することができます。

Python:変数の宣言方法

Pythonにおける変数の宣言は非常に簡単です。

(変数名)=(初期値)

変数と初期値を=(イコール)で結ぶだけでOK。ページ後半で解説しますが、Pythonは動的に型付けをしてくれるので、データ型の指定は不要です。

a = 100  # 変数宣言(変数a / 初期値100)
print(a) # 画面に100が表示されます

b = 'あいうえお'
print(b) # 画面に'あいうえお'が表示されます

ちなみに、ここでの=は「等しい」という意味ではありません。「代入する」という意味です。

プログラミング初心者ほど間違ったイメージを持ってしまいがちなので、注意して理解しましょう。

Python:初期値なしの変数宣言

Pythonでは、変数のみで宣言することはできません。

必ず、初期値の指定をする必要があります。

JavaScriptなど他の言語では、変数だけを宣言しておき中身はからっぽにすることもできますが、Pythonでは初期値なしの変数宣言を行うことはできません。

一度に複数の変数を宣言する方法

上記基本形に加えて、Pythonでも一度に複数の変数を宣言することができます。

sample = 100

test1 = test2 = 200

test3,test4 = 300,400

もちろん、1つ1つ変数を宣言していっても動きは同じ。

sample = 100
test1 = 200
test2 = 200
test3 = 300
test4 = 400

見やすい書き方、意味のまとまりを考えてうまく使い分けましょう。

次は変数の命名ルールを確認します。

変数の命名ルール

Pythonの変数で利用できる文字は英語・数字・_(アンダースコア)が基本です。

実は、それ以外に日本語や特殊文字なども一部利用可能です。が、いくつかの留意事項があるのと現実的には利用頻度が高くないため、基本は英語・数字・アンダースコアを利用すると覚えておけばOK。

Pythonの変数名に利用する文字(推奨)
  • 英語(大文字も小文字も可能)
  • 数字(0~9)
  • _(アンダースコア)

ただし、変数の先頭に数字を用いるのはNG。

エラー(SyntaxError: invalid syntax)となりますので、注意が必要です。

abcdfeg = 100
a_b_c_d = 200
_abc_e_ = 300
_12345a = 400

1test   = 100 # エラーになります。
00000   = 200 # エラーになります。

ここまでの例で、すべて小文字のアルファベットしか利用していないことにお気づきでしょうか?

実は、Pythonにおいては慣例的変数には小文字の英語しか用いません。Pythonの処理に大文字・小文字は関係ありませんが、より実践的なTipsとして頭に入れておきましょう。

Python:定数定義(大文字のアルファベット)

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" は文字型として扱われます。

Pythonが動的型付け言語であるため、初期値「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'

変数の削除:del文

一度宣言した変数は、後から削除することもできます。

変数を削除するには「del」を利用します。

a = 100
del a

print(a) # NameError: name 'a' is not defined

変数の削除(解放)を行うことで、メモリが解放されるため、よりパフォーマンスに優れた機能を実現することができます。

変数もメモリを利用するので使いすぎるとパフォーマンスを悪化させる原因となります。変数が増えすぎて、プログラムの実行速度に影響を与えていそうな場合は、「del」を用いて変数を削除するという案を考えても良いかもしれません。

ただし、よほどのことがない限り「del」は使わなさそうなので一応、こんなのもあるんだ!という豆知識程度に覚えておけばOKです。

Pythonを1から学習したい方は

Pythonをより実践的に学びたい―。実際にコーディングをしながら学びたい―。独学に限界を感じている―。

そんな方には、無料体験/オンライン完結もあるプログラミングスクールで学ぶのがおすすめです。都度検索しながら知識を補完していくのではなく、1から体系立てて学ぶことで短時間・かつ効率的にスキルハックすることが可能です。

各プログラミングスクールの特徴をまとめた記事をこちらに記載しておきますので、是非ご覧ください。

タイトルとURLをコピーしました