この記事では、Pythonでオブジェクトのデータ型を確認したり変換する方法について解説しています。
目次
Udemyの動画学習でもPythonを勉強しよう!
「平日の夜の勉強会には時間が間に合わなくて参加できない」「通勤時間のわずかな隙間時間を勉強時間にあてたい」「本ではよく分からないところを動画で理解を深めたい」そんなあなたはUdemyの動画学習がお勧めです!
UdemyのPythonおすすめ33講座レビューリストオブジェクトのデータ型の確認をするには、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講座レビューリスト