以前の記事にてPythonの主なデータ型は、9種類あると解説しました!
まだ、データ型の記事を読んでいない方はこちら。
今回は、データ型をより深く理解できるようデータ型の分類について解説していきます!
この記事は、以下の方におススメ!
- Python初学者の方
- データ型の特徴を知りたい方
- データ型を整理して覚えたい方
データ型の分類の前に…
データ型の分類を解説する前に抑えておいていただきたい用語が4つあります!
あまり聞きなれない言葉かと思いますが、この用語を覚えておくことで理解しやすくなりますので、大変だと思いますが、覚えてください!
まずは、「コンテナ型」と「スカラー型」から。
コンテナ型
コンテナ型は、リストや辞書のように複数のデータをまとめて持てる型。
コンテナという名前からも複数のデータをまとめて持ちそうなイメージが付きますよね!
コンテナ型の特徴をまとめておきます!
- 複数の要素を格納:リストや辞書など、複数のデータ要素を持つことができます。
- アクセス方法の提供:インデックスやキーを使って要素にアクセスできます。
- イテラブル:forループなどで要素を順に取り出すことができます。
スカラー型
スカラー型は整数や浮動小数点数のように単一のデータを持つ型。
スカラーはあまり聞きなれない言葉かと思います。数学や物理学の分野で使われており、単一の数値や大きさだけを表します。そこから、単一のデータという意味合いがあるんですね。
スカラー型の特徴をまとめておきます!
- 単一の値:整数や浮動小数点数など、単一の値を持ちます。
- スカラー型:単一の値として扱われ、複数の要素を持つことはありません。
- 演算の対象:数値演算の対象として使用されます。
次にミュータブルとイミュータブルについて.
ミュータブルとイミュータブルなんてあまり聞かないですよね…
ミュータブル
ミュータブルは変更可能を意味します。
リストや辞書はミュータブルで、後から内容を変更したり追加することができます。
ミュータブルの特徴
- 変更可能。
- インプレース操作(その場での操作)が可能。
イミュータブル
イミュータブルは変更不可能を意味します。
タプルや文字列はイミュータブルで、一度作成するとその内容を変更することはできません。
イミュータブルの特徴
- 変更不可。
- インプレース操作ができないため、変更には新しいオブジェクトを作成する。
コンテナ型とスカラー型、ミュータブルとイミュータブルについて解説しました。
データ型はこの2つの軸で分類するとわかりやすいです!
これから2つの軸を用いて整理していきます!
データの分類
それでは、さっそくデータを分類していきましょう!
コンテナ型
1. リスト(list)
リストは、任意のデータ型の要素を格納できる可変長のデータ構造です。要素の順序が保持され、インデックスを使ってアクセスできます。リストはミュータブル(mutable)であり、要素の追加、削除、変更が可能です。
my_list = [1, 2, 3, 'a', 'b', 'c']
my_list[1] = 'changed' # 要素を変更
print(my_list)
# 出力
[1, 'changed', 3, 'a', 'b', 'c']
2. タプル(tuple)
タプルはリストと似ていますが、一度作成すると変更できません(イミュータブル)。要素の順序が保持されます。タプルは、変更が不要なデータを格納するのに適しています。
my_tuple = (1, 2, 3, 'a', 'b', 'c')
print(my_tuple[1])
# 出力
2
3. 辞書(dictionary)
辞書はキーと値のペアを格納するデータ構造です。キーはユニークでなければならず、値は任意のデータ型を取ることができます。辞書もミュータブルであり、キーと値のペアの追加、削除、変更が可能です。
my_dict = {'key1': 'value1', 'key2': 'value2'}
my_dict['key1'] = 'new_value' # 要素を変更
print(my_dict)
{'key1': 'new_value', 'key2': 'value2'}
4. セット(set)
セットはユニークな要素のコレクションです。要素の順序は保証されませんが、集合演算(和、積、差など)をサポートします。セットもミュータブルであり、要素の追加や削除が可能です。
my_set = {1, 2, 3, 'a', 'b', 'c'}
my_set.add('new_element') # 要素を追加
print(my_set)
# 出力
{1, 2, 3, 'a', 'b', 'c', 'new_element'}
5. 文字列(str)
文字列は文字のシーケンス(連続したデータ要素)として扱われ、リストやタプルのようにインデックスでアクセスできます。文字列はイミュータブルであり、一度作成すると変更できません。
my_string = "hello"
print(my_string[1])
# 出力
e
スカラー型
スカラー型とは、単一の値を表すデータ型のことです。Pythonには以下のようなスカラー型があります。また、スカラー型は、基本的にイミュータブルで変更できません。
1. 整数(int)
整数は整数値を表します。
my_int = 5
print(my_int)
# 出力
5
2. 浮動小数点数(float)
浮動小数点数は小数点を含む数値を表します。
my_float = 3.14
print(my_float)
# 出力
3.14
3. 真偽値(bool)
真偽値はTrueまたはFalseのいずれかを表します。
my_bool = True
print(my_bool)
# 出力
True
まとめ
この記事では、Pythonのデータ型をコンテナ型とスカラー型、ミュータブル型とイミュータブル型に分類して解説しました。
コンテナ型はリストや辞書のように複数のデータをまとめて持つことができ、スカラー型は整数や浮動小数点数のように単一のデータを持ちます。
また、ミュータブル型は内容を変更できるのに対し、イミュータブル型は一度作成されたら内容を変更できません。
これらの分類を理解することで、Pythonのデータ型を効率的に使いこなすことができます!