Pythonでのisinstanceは何を意味しますか

青灯夜游
リリース: 2023-01-11 14:03:24
オリジナル
9373 人が閲覧しました

Pythonではisinstanceとは「型判定」を意味します。 isinstance() は、オブジェクトが既知の型であるかどうかを判断するために使用される組み込み関数です。構文は「isinstance(object, type)」です。既知の場合は True を返し、それ以外の場合は False を返します。また、型パラメータがタプルであり、Object がタプル内の型の 1 つである場合、この関数も True を返します。

Pythonでのisinstanceは何を意味しますか

このチュートリアルの動作環境: Windows7 システム、Python3 バージョン、DELL G3 コンピューター

Python で isinstance とは「型判定」を意味します。

python isinstance() 関数

isinstance() 関数は、type() と同様に、オブジェクトが既知の型であるかどうかを判断します。

isinstance() と type() の違い:

  • type() は、サブクラスを親クラスの型とはみなしません。継承関係。

  • isinstance() は、サブクラスを親クラス型とみなし、継承関係を考慮します。

2 つの型が同じかどうかを確認したい場合は、isinstance() を使用することをお勧めします。

指定されたオブジェクトが指定された型を持つ場合、isinstance() 関数は True を返し、それ以外の場合は False を返します。

型パラメータがタプルの場合、オブジェクトがタプル内の型の 1 つである場合、この関数は True を返します。

構文:

isinstance(object, type)
ログイン後にコピー
type例 1: 「Hello」が型パラメーターで記述された型の 1 つであるかどうかを確認します
x = isinstance("Hello", (str, float, int, str, list, dict, tuple))
print(x)
ログイン後にコピー
パラメータ説明
必要なオブジェクト。物体。
型またはクラス、あるいは型やクラスのタプル。

例2 : y が myObjPythonでのisinstanceは何を意味しますか

class myObj:
  name = "Bill"

y = myObj()

x = isinstance(y, myObj)

print(x)
ログイン後にコピー

Pythonでのisinstanceは何を意味しますか拡張知識: type と isinstance の違い

Python の Type のインスタンスであるかどうかを確認しますisinstance はオブジェクトのデータ型を取得できます。isinstance はオブジェクトのデータ型を決定できます。これらには 2 つの違いがあります。

1. isinstance はより柔軟です。

type はオブジェクトのデータを返すだけで、type と isinstance は、このオブジェクトのデータ型がいくつかのデータ型の 1 つであるかどうかを判断できます。

オブジェクトのデータ型が int か float かを判断したいとします。2 つの関数の記述例は次のとおりです。

a = 4

# 使用type
if type(a) == int or type(a) == float:
    print('yes')

# 使用isinstance
if isinstance(a, (int, float)):
    print('yes')
ログイン後にコピー

明らかに、このシナリオでは isinstance にはさらに多くの機能があります。利点

2. 継承関係がある場合の状況を判断する

class A:
    pass


class B(A):
    pass

a = A()
b = B()

print(type(b) == A)         # False
print(isinstance(b, A))     # True
ログイン後にコピー
B は A のサブクラスで、type(b) はクラス B を返しますが、これは等しくありませんA に対して、B は A サブクラスに属するため、b も A のオブジェクトであると考えることができます。継承関係があるこの状況に直面した場合、isinstance を使用する必要があります。推奨される学習:

Python ビデオ チュートリアル

以上がPythonでのisinstanceは何を意味しますかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!