Python関数一覧

【Python】Python初心者必見!isinstance関数の使い方と実例について徹底解説 isinstance関数とtype関数の違いも解説します。

ChatGPTのAPIを使わずに自動化することが可能です。
下記の本を読めば、ChatGPT4でも料金掛からずに自動化できます!KindleUnlimited会員であれば無料で読めます。

Python初心者必見!isinstance関数の使い方と実例について徹底解説

1. Pythonのisinstance関数とは?

Pythonのisinstance関数は、指定したオブジェクトが指定した型またはクラスのインスタンスであるかどうかを確認するための関数です。
具体的には、isinstance関数は2つの引数を受け取り、最初の引数が2番目の引数のインスタンスである場合はTrueを、そうでない場合はFalseを返します。

サルモリ
なるほど、型を確認するのに便利そうだね!

2. 基本的なisinstanceの使い方

では、具体的にどのようにisinstance関数を使用するのか、基本的な使い方を見ていきましょう。
以下に示すのは、数字の5がint型(整数)のインスタンスであるかを確認するコードです。

ソースコード例

このコードを実行すると、5は整数型のインスタンスであるため、結果はTrueとなります。

 出力結果
True
サルモリ
おお、簡単に型が確認できるんだね!
PythonのLambdaについて徹底的に学びたい方は画像をクリックしてご覧ください!
KindleUnlimited会員であれば、全ての本をご覧頂けます。 リストとラムダ式を理解すれば、Pythonプログラミングの世界が変わる 第1版

3. 複数の型を指定したisinstanceの使い方

次に、isinstance関数で複数の型を指定する方法を見てみましょう。
もしも、あるオブジェクトが整数型か浮動小数点型のどちらかであるかを調べたいときは、以下のようにタプルで型を指定します。

ソースコード例

このコードを実行すると、5.0は浮動小数点型のインスタンスであるため、結果はTrueとなります。

 出力結果
True
サルモリ
複数の型も一度に確認できるなんて、さらに便利になったね!

4. カスタムクラスとisinstanceの使い方

さて、isinstance関数は組み込み型だけでなく、自分で定義したクラスのインスタンスかどうかを確認するのにも使用することができます。
以下に示すのは、自作のクラスを作り、そのインスタンスかどうかを確認する例です。

ソースコード例

このコードを実行すると、my_instanceはMyClassのインスタンスであるため、結果はTrueとなります。

 出力結果
True
サルモリ
自分で作ったクラスも確認できるなんて、なんだかプロフェッショナルな気分だね!

5. isinstanceとtypeの違いについて

ここまでPythonのisinstance関数について見てきましたが、同じように型をチェックする関数にtypeがあります。
では、この二つは何が違うのでしょうか。

主な違いは、isinstanceがサブクラスのインスタンスもTrueと判断する点にあります。
これに対して、type関数は厳密にクラスが一致する場合のみTrueと判断します。
この違いを以下の例で見てみましょう。

ソースコード例

このコードを実行すると、isinstanceはTrueを返し、typeはFalseを返します。
なぜなら、childはParentClassのサブクラスのインスタンスであるため、isinstanceはそれをTrueと判断します。
しかし、typeはクラスが厳密に一致しないためFalseと判断します。

 出力結果
True
False
サルモリ
サブクラスも考慮に入れるならisinstanceを、厳密な型チェックが必要ならtypeを使うんだね!覚えた!

まとめ

この記事では、Pythonのisinstance関数について学びました。
isinstance関数は、あるオブジェクトが特定のクラスのインスタンスかどうかを判断するために使用されます。
また、isinstanceとtypeの違いについても解説しました。
これにより、より効率的に型チェックを行うことが可能になります。
最後まで読んで頂き、ありがとうございました。少しでもお役にたてたなら幸いです!

サルモリ
最後まで読んでくれてありがとう!!

-Python関数一覧

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock