今回は、Pythonデータ型の確認や判定をする方法について解説します。
Pythonのオブジェクト型を確認するには、組み込み関数の、type関数、判定をするにはisinstance関数を使います。
type関数
type関数
オブジェクト型を確認するには、組み込み関数のtype関数を使います。
書き方は下記のように記述し、引数objectに指定したオブジェクトの型を返します。
type()関数の返り値は、intやstrなどのtype型オブジェクトとなります。
type(object)
(例)
print(type('abc'))
# 実行結果: <class 'str'>
print(type(100))
# 実行結果: <class 'int'>
print(type([0, 1, 2]))
# 実行結果: <class 'list'>
print(type(1.234))
# 実行結果: <class 'float'>
isinstance関数
isinstance関数
Pythonのオブジェクト型を判定するには、isinstance関数を使います。
書き方は下記のように記述し、第一引数のオブジェクトが、第二引数の型のインスタンスやサブクラスのインスタンスであれば、Trueを返す関数となります。
また、第二引数は型のタプルを指定することも可能で、いずれの型でもインスタンスであれば、Trueを返します。
isinstance(object, class)
(例)
print(isinstance('abc', str))
# 実行結果: True
print(isinstance(10, str))
# 実行結果: False
print(isinstance(10, (int, str)))
# 実行結果: True
type関数を使った型の判定
type関数を使っても型の判定をすることができます。
ただし、type関数はサブクラスまでは判定できません。
type関数とisinstance関数の違いは、type関数を使った型の判定では、型が一致しているときのみにTrueとなりますが、
isinstance関数の場合は、第二引数に指定したクラスを継承するサブクラスのインスタンスに対しても、Trueを返すことになります。
そのため、正確な型を判定する場合は、type関数を使い、継承も考慮した上で判定する場合は、isinstance関数を使うようにします。
まとめ: Python データ型の確認や判定をする方法について
まとめ: Python データ型の確認や判定をする方法について
今回は、Python データ型の確認や判定をする方法について解説しました。
- 型を確認するには、type関数を使います。
- 型を判定するには、isinstance関数、type関数型を使います。
(正確な型を判定する場合は、type関数を使い、継承も考慮した上で判定する場合は、isinstance関数を使うようにします。)