データ型を分類しよう! | Python入門

以前の記事にてPythonの主なデータ型は、9種類あると解説しました!

まだ、データ型の記事を読んでいない方はこちら。

今回は、データ型をより深く理解できるようデータ型の分類について解説していきます!

hayato
hayato

この記事は、以下の方におススメ!

  • Python初学者の方
  • データ型の特徴を知りたい方
  • データ型を整理して覚えたい方

データ型の分類の前に…

データ型の分類を解説する前に抑えておいていただきたい用語が4つあります!

あまり聞きなれない言葉かと思いますが、この用語を覚えておくことで理解しやすくなりますので、大変だと思いますが、覚えてください!

hayato
hayato

まずは、「コンテナ型」と「スカラー型」から

コンテナ型

コンテナ型は、リストや辞書のように複数のデータをまとめて持てる型

コンテナという名前からも複数のデータをまとめて持ちそうなイメージが付きますよね!

コンテナ型の特徴をまとめておきます!

  • 複数の要素を格納:リストや辞書など、複数のデータ要素を持つことができます。
  • アクセス方法の提供:インデックスやキーを使って要素にアクセスできます。
  • イテラブル:forループなどで要素を順に取り出すことができます。

スカラー型

スカラー型は整数や浮動小数点数のように単一のデータを持つ型

スカラーはあまり聞きなれない言葉かと思います。数学や物理学の分野で使われており、単一の数値や大きさだけを表します。そこから、単一のデータという意味合いがあるんですね。

スカラー型の特徴をまとめておきます!

  • 単一の値:整数や浮動小数点数など、単一の値を持ちます。
  • スカラー型:単一の値として扱われ、複数の要素を持つことはありません。
  • 演算の対象:数値演算の対象として使用されます。
hayato
hayato

次にミュータブルとイミュータブルについて.

ミュータブルとイミュータブルなんてあまり聞かないですよね…

ミュータブル

ミュータブルは変更可能を意味します。

リストや辞書はミュータブルで、後から内容を変更したり追加することができます。

ミュータブルの特徴

  • 変更可能。
  • インプレース操作(その場での操作)が可能。

イミュータブル

イミュータブルは変更不可能を意味します。

タプルや文字列はイミュータブルで、一度作成するとその内容を変更することはできません。

イミュータブルの特徴

  • 変更不可。
  • インプレース操作ができないため、変更には新しいオブジェクトを作成する。
hayato
hayato

コンテナ型とスカラー型、ミュータブルとイミュータブルについて解説しました。

データ型はこの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のデータ型を効率的に使いこなすことができます!