【Python入門】データ型とは?主な種類や型の確認・変換方法について解説

Pythonで変数を扱う際には、必ず「データ型」といった要素も伴ってきます。

データ型を考慮せずにプログラムを記述してしまうと、実行時にエラーが発生したりと不具合の原因になるので注意が必要です。

そこで、この記事ではデータ型の概要と種類の一覧、また型を確認・変換するための方法について解説していきます。

目次

データ型とは

データ型とは、プログラム内で扱う値の種類を指します。

123の場合は「int(整数)型」、テストの場合は「str(文字列)型」など、値によって対応する型が決まっています。

また、Pythonではたいてい変数と値がセットで扱われますが、データ型に応じてできることも異なります。(例えば、str(文字列)型の入った変数と整数で足し算はできません)

123(整数)とテスト(文字列)であれば違いがわかりやすいですが、123(文字列)といったように一見すると別のデータ型に見間違えてしまうようなケースもあります。

そのため、変数を扱う際にはしっかりと中身のデータ型を把握しておくことが大切です。

データ型の種類一覧

Pythonで主に扱われているデータ型は以下の通りです。

スクロールできます
種類説明
int整数小数点を含まない数値123, -123
float浮動小数点
(小数)
小数点を含む数値3.14, -0.123
str文字列文字(‘もしくは”で囲われた値)“テスト”, ‘123’
bool真偽値True(真)またはFalse(偽)の片方をとる値True, False
listリスト[]内に複数の要素(データ型)を保持する値
要素の編集や追加・削除が可能
[“テスト”, 123, False, 123]
tupleタプル()内に複数の要素(データ型) を保持する値
要素の編集や追加・削除はできない
(“テスト”, 123, False, 123)
dict辞書{}内に複数の要素(データ型) を保持する値
ラベルとなる「キー」もあわせて設定する
{“key1”: 3.14, “key2”: 123}
{0: True, 1: “テスト”, 2: True}
setセット{}内に複数の要素(データ型) を保持する値
キーを設定しないため、値の重複は不可
{“テスト”, 123, False}

配列(リスト/タプル/辞書/セット)の具体的な違いは、以下の記事にて説明しています。

データ型の確認方法

データ型を確認するには、type()関数を利用します。

例えば、123(整数)と123(文字列)は一見同じ表示に見えますが、type()を使うとそれぞれ違うデータ型であることがわかります。

関数…受け取ったデータを用いて特定の処理を行い、その結果を返す仕組みのこと

num = 123  # 変数numに、123(整数)を保持
word = "123"  # 変数wordに、123(文字列)を保持

print(num, type(num))  # numの中身と、そのデータ型を表示
print(word, type(word))  # wordの中身と、そのデータ型を表示

= 実行結果 =

123 <class 'int'>
123 <class 'str'>

別のデータ型への変換方法

プログラム実行時のエラーを防ぐためには、データ型の確認だけでなく適切な型へ変換することも重要です。

ここから先では、Pythonで取り扱っているデータ型の変換方法についていくつか紹介していきます。

文字列を数値に変換(str⇒int/float型)

文字列から数値(整数・小数)に変換する場合は、int()関数あるいはfloat()関数を使用します。

なお、整数から小数への変換や、その逆においても同様の方法で対応可能です。

使用する際は、 int()float() の括弧内に変換したい文字列(変数)を記述します。

num = int("123")  # numという変数に、int型に変換した文字列(123)を保持
pi = float("3.14")  # piという変数に、float型に変換した文字列(3.14)を保持

print(type(num))  # numのデータ型を表示
print(type(pi))  # piのデータ型を表示

= 実行結果 =

<class 'int'>
<class 'float'>

ただし、文字列によっては直接int(整数)型への変換が難しいこともあります。

その場合は、値を適切な形へ書き換えてから対応するようにしましょう。

'''
文字列⇒整数に変換できない例
'''
int("3.14")  # 先に小数へ変換してから、int()を使う必要がある
int("123,456,789")  # カンマを外してから出ないと変換できない

数値を文字列に変換(int/float⇒str型)

数値(整数・小数)から文字列に変換する場合は、str()関数を使用します。

使用する際は、str()の括弧内に変換したい数値(変数)を記述します。

num = str(123)  # numという変数に、str型に変換した整数(123)を保持
pi = str(3.14)  # piという変数に、str型に変換した小数(3.14)を保持

print(type(num))  # numのデータ型を表示
print(type(pi))  # piのデータ型を表示

= 実行結果 =

<class 'str'>
<class 'str'>

リストをタプルに変換(list⇒tuple型)

リストからタプルに変換する場合は、tuple()関数を使用します。

使用する際は、tuple()の括弧内に変換したいリスト(変数)を記述します。

tp = tuple(["テスト", 123, False])  # tpという変数に、tuple型に変換したリストを保持

print(tp)  # tpの中身を表示
print(type(tp))  # tpのデータ型を表示

= 実行結果 =

('テスト', 123, False)
<class 'tuple'>

タプルをリストに変換(tuple⇒list型)

タプルからリストに変換する場合は、list()関数を使用します。

使用する際は、list()の括弧内に変換したいタプル(変数)を記述します。

ls = list(("テスト", 123, False))  # lsという変数に、list型に変換したタプルを保持

print(ls)  # lsの中身を表示
print(type(ls))  # lsのデータ型を表示

= 実行結果 =

['テスト', 123, False]
<class 'list'>

まとめ

この記事では、データ型の概要と種類の一覧、また型を確認・変換する方法について解説しました。

Pythonを扱う上でデータ型は必要不可欠な存在なので、きちんと基本を押さえておくようにしましょう。

シェアはこちらから
目次