チャポケのブログ

勉強したことをまとめておく。

Python 組み込み型の分類

型の分類表

組み込み型 変更不可 変更可 イテラブル シーケンス マッピング 備考
bool 真偽
int 整数
float 浮動小数点数
complex 複素数
list 配列
tuple 配列
range 等差数列
dict 辞書
set 集合
frozenset 集合
bytearray バイト列
bytes バイト列
str 文字列

変更不可:イミュータブル型(immutable型)

イミュータブル型は、値を変更できないデータ型のこと。

数値型、文字列型はイミュータブル型に分類されているのが不思議に思うが、
実は、数値型、文字列型は変数に代入するたびに新しいオブジェクトが作られている
Pythonでは、各オブジェクトにid番号が割り振られていて、
そのid番号id()関数で調べることができる。
次では、代入のたびにid番号が変化する、
つまり新しいオブジェクトが作られていることが確認できる。

a = 5
print(a)      # 数値は 5
print(id(a))  # id番号は 9752288

a = 2 * a     # 代入により、新しいオブジェクト生成。
print(a)      # 数値は 10
print(id(a))  # id番号は 9752448  ←変化している

a = a + 3     # 代入により、新しいオブジェクト生成。
print(a)      # 数値は 13
print(id(a))  # id番号は 9752544  ←変化している

変更可:ミュータブル型(mutable型)

ミュータブル型は、値を変更できるデータ型のこと。

イテラブル型(iterable型)

イテラブル型は、for文in の後ろのデータ配列として使えるもの。
ちなみに、in の前の変数名は、イテレータiteratorまたは反復子という。

for 変数名 in データ配列:
  繰り返し処理

シーケンス型(seguence型)

シーケンス型は、データ配列の一種であって、
データ配列の各要素を、順番を示すインデックスを使ってアクセスできるもの。

シーケンス型は、すべてイテラブル型である。

マッピング型(mapping型)

マッピングは、データ配列の一種であって、
データ配列の各要素を、keyを使ってアクセスできるもの。

マッピングも、イテラブル型である。