
Pythonでは、値の種類ごとに「データ型」が用意されています。
それぞれの型には役割があり、使い分けることで柔軟で効率的なプログラムを書くことができます。
この記事では、Pythonでよく使われる主要なデータ型を網羅しながら、特徴や違い、使い方の具体例をわかりやすく解説します。
数値型(Numeric Types)
int(整数)
整数を扱う型です。小数点は使えません。
1 2 3 |
x = 10 print(type(x)) # → <class 'int'> |
float(浮動小数点数)
小数を扱う型です。
1 2 3 |
price = 199.99 print(type(price)) # → <class 'float'> |
complex(複素数)
数学で出てくる複素数を扱うための型です。実部と虚部を j を使って表します。
1 2 3 4 5 |
z = 3 + 4j print(type(z)) # → <class 'complex'> print(z.real) # → 3.0 print(z.imag) # → 4.0 |
文字列型(String)
str(文字列)
テキストを扱う型です。文字列は ' '
または " "
で囲んで定義します。
1 2 3 4 |
name = "Alice" print(type(name)) # → <class 'str'> print(name.upper()) # → "ALICE" |
論理型(Boolean)
bool(真偽値)
True
または False
のどちらかを表す型です。条件分岐や比較に使います。
1 2 3 |
is_logged_in = True print(type(is_logged_in)) # → <class 'bool'> |
リスト型(List)
順序のある複数の要素をまとめて管理できるデータ型。要素の変更も可能です。
1 2 3 4 5 |
fruits = ["apple", "banana", "orange"] print(fruits[1]) # → banana fruits[0] = "grape" print(fruits) # → ['grape', 'banana', 'orange'] |
リストは [ ]
で定義し、インデックスで要素にアクセスします。
タプル型(Tuple)
リストと似ていますが、中身を変更できない(イミュータブル)データ型です。
1 2 3 4 |
colors = ("red", "green", "blue") print(colors[0]) # → red # colors[0] = "yellow" # エラーになる |
変更の必要がない固定データを扱うときに使います。
辞書型(Dictionary)
キーと値のペアでデータを管理する型です。順序付きでアクセスできます。
1 2 3 4 5 |
person = {"name": "Bob", "age": 25} print(person["name"]) # → Bob person["age"] = 26 print(person) # → {'name': 'Bob', 'age': 26} |
{}
で定義し、キー
で値にアクセスします。
集合型(Set)
重複のない要素の集まりを扱う型です。順序は保証されません。
1 2 3 |
unique_numbers = {1, 2, 3, 3, 2} print(unique_numbers) # → {1, 2, 3} |
重複を自動で除外してくれるので、ユニークな値を扱いたいときに便利です。
None型
None
「何もないこと」を表す特別な型です。未設定や初期値の意味で使われます。
1 2 3 |
data = None print(type(data)) # → <class 'NoneType'> |
関数が値を返さないときにも、Pythonは自動で None
を返します。
バイト型(Bytes・Bytearray)
bytes(読み取り専用のバイナリデータ)
1 2 3 |
data = b"Hello" print(type(data)) # → <class 'bytes'> |
bytearray(変更可能なバイナリデータ)
1 2 3 4 |
b = bytearray(b"ABC") b[0] = 68 # DのASCII print(b) # → bytearray(b'DBC') |
range型
指定した範囲の数値を順番に扱えるオブジェクトです。ループ処理に便利。
1 2 3 |
for i in range(3): print(i) # → 0 1 2 |
メモリ効率よく大きな範囲を生成できます。
メモリビュー型(memoryview)
バイナリデータに対して部分的にアクセスしたいときに使います。
1 2 3 4 |
data = bytearray("abcde", "utf-8") view = memoryview(data) print(view[0]) # → 97 |
大きなデータ処理で効率化したいときに便利ですが、初心者はあまり使いません。
まとめ
Pythonの主なデータ型とその特徴は以下の通りです:
型名 | 説明 | 例 |
---|---|---|
int |
整数 | x = 42 |
float |
小数 | pi = 3.14 |
complex |
複素数 | z = 1 + 2j |
str |
文字列 | "Hello" |
bool |
真偽値(True / False) | flag = True |
list |
可変な順序付きコレクション | [1, 2, 3] |
tuple |
不変な順序付きコレクション | (1, 2, 3) |
dict |
キーと値のペア | {"name": "Bob"} |
set |
重複なしの集合 | {1, 2, 3} |
NoneType |
「何もない」 | None |
bytes |
読み取り専用バイナリデータ | b"abc" |
bytearray |
書き換え可能なバイナリデータ | bytearray(b"abc") |
range |
範囲を表すオブジェクト | range(5) |
memoryview |
バイナリデータへの効率的アクセス | memoryview(b"abc") |
Pythonのデータ型はとても柔軟で、どんなデータにも対応できるようになっています。
初めは int
、float
、str
、list
、dict
あたりをしっかり使いこなせるようになるだけでも、実用的なプログラムは十分書けます。
慣れてきたら他の型も少しずつ覚えていきましょう。