ホームページ  >  記事  >  バックエンド開発  >  Pythonでのisinstanceは何を意味しますか

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

青灯夜游
青灯夜游オリジナル
2023-01-11 14:03:249316ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。