Python

Pythonでオブジェクトのデータ型を確認したりデータ型の変換する方法について

By 2021年4月25日No Comments

この記事では、Pythonでオブジェクトのデータ型を確認したり変換する方法について解説しています。

オブジェクトのデータ型の確認をするには、type( )関数とisinstance( )関数で確認することができます。データ型というのは文字列や数値などがすべてデータ型の1つになります。Pythonのデータ型の主な種類一覧は下記になります。

データ型
str文字列
int整数
float浮動小数点
boolブール
datetime日付
list配列
tupleタプル
dictionary辞書

Pythonのtype( )関数で変数の型を確認する方法

type( )関数はPythonでデータ型を確認するための組み込み関数になります。type( )関数を使うと変数のデータ型を調べることができます。構文は下記になります。

type(データ型の変数)

moji = "文字列"
print(type(moji))

結果:

<class 'str'>

strと返ってます。これは変数が文字列型であることが確認できます。

整数である数値を変数に代入するとint型になります。

num = 1
print(type(num))

結果:

<class 'int'>

int型で出力されました。変数が整数であることが確認できました。

その他にもさまざまなタイプのデータ型があります。

float = 1.1 #浮動小数点数型
list = ['ヤマダ', 'タナカ', 'ウエダ']#リスト型
tuple = ('ヤマダ', 'タナカ', 'ウエダ') #タプル型
dict = {'key1': 'ヤマダ', 'key2':'タナカ'} #辞書型

print(type(float))
print(type(list))
print(type(tuple))
print(type(dict))

結果

<class 'float'>
<class 'list'>
<class 'tuple'>
<class 'dict'>

このように、浮動小数点型、リスト型、タプル型、辞書型などもすべてのデータ型を確認する事ができました。

Pythonでオブジェクトのデータ型を変換する方法

Pythonのデータ型を関数を使うことで変換することもできます。それぞれのオブジェクトのデータ型を変換する方法について確認していきます。

まず、文字列型に変換するにはstr( )を使います。引数の数値にはint型や浮動小数点であるfloat型を指定する必要があります。

num = 1
print(type(num))
print(type(str(num)))

結果:

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

このようにstr( )関数を使うと元々はint型のオブジェクトがstrである文字列型に変換されて出力されているのが分かります。

整数である数値のint型を浮動小数点に変換するにはfloat( )を利用します。

num = 1
print(type(num))
print(type(float(num)))
print(float(num))

結果:

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

浮動小数点型であるfloatで1.0が出力されているのが分かります。

文字列型であるstrを数値に変換するにはint( )を使います。

moji = '1'
print(type(moji))
print(type(int(moji)))

結果:

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

このように文字列型が数値に変換されているのが分かります。

同じデータ型の変数は+演算子で連結することができます。

moji1 = "文字列"
moji2 = "です。"
print(moji1 + moji2)

結果:

文字列です。

型が違う変数同士で+演算子で連結するとエラーになります。

moji1 = "文字列"
num = 1
print(moji1 + num)
結果:
TypeError: can only concatenate str (not "int") to str

このようにタイプエラーが表示されます。TypeErrorは主にデータ型が原因で起きるエラーになります。

この場合は、連結するデータ型を揃える必要があるのでint型である変数numをstr( )関数で文字列型に変換することで連結することができます。

moji1 = "文字列"
num = 1
print(moji1 + str(num))

結果:

文字列1

このようにオブジェクトのデータ型を変換して連結する事ができました。

isinstance( )関数で変数の型を調べる方法

Pythonではisinstance( )関数でもデータ型を確認する事ができます。isinstance( )の第1引数に確認したいデータ型のオブジェクトを指定して第二引数にはデータ型を指定すると確認する事ができます。構文は下記になります。

isinstance(確認したいデータ型の変数, データ型)

データ型が一致しているかはTrueかFalseのブール値で確認することができます。

num = 1
print(isinstance(num, int))

結果:

True

変数と型が数値で一致しているのでTrueと返されました。

異なるデータ型を引数に指定します。

num = 1
print(isinstance(num, str))

結果:

False

第1引数にint型である整数の変数を指定して第2引数には文字列型であるstrを指定したので変数と型が一致しなかったのでFalseと出力されました。

第2引数の型は複数指定することもできます。

num = 1
print(isinstance(num, (int, str)))

結果:

True

変数numはint型とは型が一致しているのでブール値はTrueを返しました。

このようにオブジェクトのデータ型を確認したい場合にisinstance( )関数を使用することができます。

まとめ

今回はPythonのオブジェクトのデータ型の確認ができるtype( )関数とisinstance( )関数の使い方とデータ型を変換する方法について解説しました。以上、Pythonでオブジェクトのデータ型を確認したり変換する方法についてでした。

Udemyの動画学習でもPythonを勉強しよう!

「平日の夜の勉強会には時間が間に合わなくて参加できない」「通勤時間のわずかな隙間時間を勉強時間にあてたい」「本ではよく分からないところを動画で理解を深めたい」そんなあなたはUdemyの動画学習がお勧めです!

UdemyのPythonおすすめ33講座レビューリスト
HOSL

Author HOSL

More posts by HOSL