ミュータブル・イミュータブル・イテラブル・シーケンス
前のPython勉強メモ(3)https://kk-planning.site/py24033000/にオブジェクトの型を掲載したが、その型ごとに「可変・反復・順列」の3つの特徴で分類することもできる。
- ミュータブル(mutable):内容の変更・追加・削除ができるオブジェクトタイプ
- イミュータブル(immutable):内容を変更できないオブジェクトのタイプ
- イテラブル(iterable):要素を1つずつ返すことができるオブジェクト。for文、while文で使用できる
- シーケンス(sequence):整数のインデックスを指定して、要素にアクセスできるオブジェクト
- 特殊:マッピング:キーによる検索が可能
| mutable | immu | iterable | sequence | mapping | |
| bool | 〇 | ||||
| int | 〇 | ||||
| float | 〇 | ||||
| str | 〇 | 〇 | 〇 | ||
| list | 〇 | 〇 | 〇 | ||
| tuple | 〇 | 〇 | 〇 | ||
| range | 〇 | 〇 | 〇 | ||
| dict | 〇 | 〇 | 〇 | ||
| set | 〇 | 〇 |
コンテナと呼ばれる 複数のデータを格納できる型が「list・tuple・dict・set」の4種類であり、イミュータブルなのが tuple のみである。その他はミュータブルな格納ができるが、リストのみシーケンスでのデータ管理が可能である。dictはインデックスではなく『key』による紐づけ(mapping)であり、setはデータの集合を分類したいときに役に立つ。
それぞれにハッキリとした役割があり、使用するときにどれを使うのがベストかを選択しよう。

コルトン君
役割ごとに使い分けて、適切なプログラミングを使っていけるように練習しないといけないジャない!

コメント