Pythonを勉強していく上で、最初に理解しなければならないのが変数です。変数はプログラミングをする上で常に登場します。今回は、前回に続き変数のデータ型について紹介します。

変数のデータ型

まずPythonには、C言語などの他のプログラミング言語と比べ、データ型の宣言を記述する必要がなく、型に対する扱いに寛容な言語です。
しかし、宣言が不要だからといって知らないままではプログラムを書くことができません。変数のデータ型についてそれぞれ紹介していきます。

ちなみに、Pythonには一般的なプログラミング言語で扱われる定数というものがありません。大文字の変数を定数とする慣習もありますが、あくまで変数の一部です。

変数の種類

変数のデータ型にはいくつか種類があり、大きく数値型とコンテナ型に分けられます。

数値型(int, float, bool)

数値を扱う型で、演算することができます。

【int】整数型

整数を扱うデータ型です。変数に整数を代入することで、自動的にint型になります。Pythonのint型は桁数の制限がないため、CやJavaのようなlong型はありません。
また、数値の前に0b, 09, 0x をつけることで2進数、8進数、16進数で定義することができます。

進数表記
10進数そのまま
2進数0b
8進数09
16進数0x
# 以下はすべて同じ結果:10となります。
int(10)

int(10.1) # 少数点以下は切り捨てられる

int('10')

【float】実数型/浮動小数点型

小数を含む数値を扱うデータ型です。指数表記でも使用することができます。

x = 0.0015
print(x) # 0.0015

y = 1.5e-3
print(y) # 0.0015

【bool】論理型

True/Falseを扱うbool型も内部的には、数値型に分類されます。
Pythonでは、False、数値の0、0.0、空文字(”)、空のリスト([])、空のタプル(())、空の辞書({})が偽となります。

【complex】複素数型

実数部分と虚数部分からなる複素数型を扱うことができます。
定義する場合には、実数部と虚数部(j)を指定する場合と、complex関数を使用する場合があります。
また、実数部はreal、虚数部分はimageというプロパティでアクセスすることができます。



コンテナ型

複数のオブジェクトの集まりからなるデータ構造をまとめてコンテナと呼びます。リストのシーケンスや辞書、集合などがあります。

シーケンス型(list/tuple/range/str)

シーケンス型とは、「データを順番にならべたものをひとかたまりとしたデータ」です。他のプログラミング言語では、配列と呼ばれるものです。
シーケンス型の代表としては、リスト型や後から変更できないイミュータブルなタプル型(tuple)があります。また、Pythonでは文字列もシーケンス型の一つとして扱われるため、シーケンス型と同じ処理ができます。

集合型(set)

集合型とは、「データの集合をひとかたまりとしたデータ」です。重複したデータと順序をもたない集まりで、集合演算を利用できるのが特徴です。

辞書型(dict)

辞書型とは、キーと値を持つ集まりで、キーを指定すると目的のデータをすばやく取得することができます。
辞書型を定義する場合は、波括弧{}を使用します。

ーー
変数のデータ型について、代表的なものを紹介しました。それぞれの扱い方等については、また別の記事にしたいと思います。