【初心者向け】Pythonのtype関数とisinstance関数でオブジェクトの型を判定する方法
このチュートリアルでは、Pythonの組み込み関数であるtype()とisinstance()について解説します。これらの関数は、オブジェクトの型(データ型)を判定するために使用される、非常に重要な機能です。それぞれの使い方を順番に見ていきましょう。
type(object) — オブジェクトの型を取得する
type()は、オブジェクトがどのクラス(型)に属しているかを調べるための関数です。例えば、値が5であるオブジェクトvalがある場合、その型はint(整数型)になります。type関数を使えば、この情報を簡単に取得できます。
基本的な手順
- オブジェクトを初期化する
- type(object)関数を使ってオブジェクトの型を取得する
- 取得した型を表示する
以下に、type(object)関数の動作を示すサンプルコードを紹介します。
コード例
# オブジェクトを初期化 val = 5 # オブジェクトの型を取得 object_type = type(val) # 型を表示 print(object_type)
実行結果
上記のプログラムを実行すると、次のような出力が得られます。
<class 'int'>
このように、<class 'int'>と表示され、変数valがint型であることが確認できます。文字列なら<class 'str'>、リストなら<class 'list'>のように、オブジェクトごとに対応するクラス名が返されます。
isinstance(object, class) — オブジェクトが特定のクラスかどうかを判定する
isinstance(object, class)は、2つの引数を受け取ります。第1引数は判定対象のオブジェクト、第2引数は比較対象のクラスです。オブジェクトが指定されたクラス(またはそのサブクラス)のインスタンスであればTrueを返し、そうでなければFalseを返します。
例えば、値が{1, 2, 3}であるオブジェクトnumsに対して、クラスsetと一緒にisinstanceを呼び出すと、Trueが返されます。以下の手順で確認してみましょう。
- オブジェクトを初期化する
- オブジェクトとクラスを引数としてisinstance(object, class)を呼び出す
コード例
# オブジェクトを初期化
nums = {1, 2, 3}
# isinstance(object, class)関数を呼び出し
print(isinstance(nums, set))
実行結果
True
つまり、isinstance関数は型だけでなくサブクラスの関係もチェックしてくれます。Trueが返された場合、そのオブジェクトは指定されたクラスの種類であると判断できます。
カスタムクラスでの使用例
isinstance関数は、ユーザーが定義した独自のクラスにも使用できます。以下の例を見てみましょう。
# クラスを定義
class SampleClass:
# コンストラクタ
def __init__(self):
self.sample = 5
# SampleClassのインスタンスを作成
sample_class = SampleClass()
# インスタンス変数にアクセス
print(sample_class.sample)
# isinstance(object, class)関数を呼び出し
print(isinstance(sample_class, SampleClass))
実行結果
5 True
作成したインスタンスがSampleClassのオブジェクトであるため、isinstanceはTrueを返しています。継承を使った場合でも、親クラスや子クラスとの関係を正しく判定できるのがisinstanceの強みです。
まとめ:typeとisinstanceの使い分け
type()はオブジェクトの正確な型を取得したいときに、isinstance()はオブジェクトが特定のクラス(またはそのサブクラス)に属しているかどうかを確認したいときに便利です。一般的には、継承関係も考慮した柔軟な型チェックが可能なisinstanceの方が推奨される場面が多いですが、用途に応じて両者を使い分けましょう。
チュートリアルの内容でわからない点がありましたら、コメント欄でお気軽にお尋ねください。
-
Pythonによるデータ分析と可視化入門!pandas・matplotlibの使い方を解説
このチュートリアルでは、Pythonのpandasやmatplotlibなどのモジュールを使ったデータ分析と可視化の方法を学びます。Pythonはデータ分析に非常によく適した言語です。まずは以下のコマンドでpandasとmatplotlibをインストールしましょう。 pip install pandas pip install matplotlib インストールが完了すると成功メッセージが表示されます。まずpandasについて学び、その後でmatplotlibを見ていきましょう。 pandasとは pandasはPythonのオープンソースライブラリで、データ分析のための豊富なツールを提供し
-
Pythonのデータ型と型変換をわかりやすく解説
この記事では、Pythonにおける主要なデータ型の種類と、それぞれの使い方、そしてデータ型同士を変換する方法について詳しく解説します。 Pythonの組み込みデータ型一覧 Pythonでは変数を作成・宣言する際に、さまざまなデータ型を持たせることができます。Pythonには以下のような組み込みデータ型が用意されています。 str(文字列) int、float、complex(数値) list、tuple(シーケンス) dict(辞書) set(集合) bool(ブール値) bytes、bytearray(バイナリ) それでは、各データ型の特徴と作成方法を順番に見ていきましょう。 文字列型: