【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を扱う上でデータ型は必要不可欠な存在なので、きちんと基本を押さえておくようにしましょう。