Python 型判別

型を判別する方法を説明します。


type関数を使う

type(x)でxの型を取得できます。また is を使って判別をします。

# 文字列の場合
x = 'Apple'
print(type(x))
>> <class 'str'>

type(x) is str
>> True

# 整数型の場合
y = 190
print(type(y))
>> <class 'int'>

type(y) is int
>> True

isinstance() 関数を使う

isinstance(変数, 型)で第一引数の変数が、第二変数の型のインスタンスであればTrueを返します。サブクラスのインスタンスであってもTrueを返します。

x = 'Apple'
isinstance(x, str)
>> True

y = 190
isinstance(y, int)
>> True

第二引数に、型をタプルで指定すると、OR条件になります。

x = 'Apple'
isinstance(x, (str, int))
>> True

サブクラスでもTrueを返します。

class BaseFruits:
    pass

class Banana(BaseFruits):
    pass

banana = Banana()

isinstance(banana, BaseFruits)
>> True

isinstance(banana, Banana)
>> True

関連記事