Pythonでのオブジェクトの型チェック
要素の型をチェックするには、
関数isinstanceを適用します。これは最初の
パラメータとして要素を受け取り、2番目のパラメータとして
チェックする型を受け取ります。この場合、
2番目のパラメータの名前として使用されるのは、
データを対応する型に変換する関数の名前です: 文字列の場合はstr、
数値の場合はint、リストの場合はlist
などです。関数isinstanceは
ブール値を返します: 要素が型に一致する場合、
Trueが返され、それ以外の
場合はFalseが返されます。
例
変数tstがあるとします。
その値が文字列かどうかを確認してみましょう。
これを行うには、ifの右側に
関数isinstanceを記述します。
そのパラメータにtstと型
strを渡します。もし値とデータ型が
一致したら、対応するメッセージが表示されるようにします:
tst = 'a'
if isinstance(tst, str):
print('string')
コードの実行結果:
'string'
例
次に、変数が整数かどうかを確認してみましょう:
tst = 12
if isinstance(tst, int):
print('integer')
コードの実行結果:
'integer'
例
tstが浮動小数点数かどうかを確認するには、
2番目のisinstanceのパラメータに
型floatを渡す必要があります:
tst = 12.0
if isinstance(tst, float):
print('float')
コードの実行結果:
'float'
例
次に、tstがリストかどうかをチェックする
条件を書いてみましょう:
tst = [1, 2, 3]
if isinstance(tst, list):
print('list')
コードの実行結果:
'list'
例
変数がタプルかどうかを確認してみましょう:
tst = (1, 2, 3)
if isinstance(tst, tuple):
print('tuple')
コードの実行結果:
'tuple'
例
次に、変数の値が辞書かどうかを知るための 条件を設定してみましょう:
tst = {'a': 1, 'b': 2, 'c': 3}
if isinstance(tst, dict):
print('dictionary')
コードの実行結果:
'dictionary'
実践問題
変数があるとします。その値が整数かどうか チェックしてください。
指定された変数が浮動小数点数かどうか 調べてください。
変数が文字列値を持っているかどうか チェックしてください。
指定された変数が辞書かどうか チェックしてください。
指定された変数が集合かどうか チェックしてください。
指定された変数がタプルかどうか チェックしてください。
指定された変数がリストかどうか チェックしてください。