ホームページ >バックエンド開発 >Python チュートリアル >Python の isinstance() 関数を使用して、オブジェクトが特定のクラスに属しているかどうかを判断します

Python の isinstance() 関数を使用して、オブジェクトが特定のクラスに属しているかどうかを判断します

王林
王林オリジナル
2023-08-22 11:52:511749ブラウズ

Python の isinstance() 関数を使用して、オブジェクトが特定のクラスに属しているかどうかを判断します

Python の isinstance() 関数を使用してオブジェクトが特定のクラスに属しているかどうかを判断する

Python では、オブジェクトが特定のクラスに属しているかどうかを判断する必要があることがよくあります。 。カテゴリ判定を容易にするために、Python には組み込み関数 isinstance() が用意されています。この記事では、isinstance() 関数の使用法を紹介し、コード例を示します。

isinstance() 関数は、オブジェクトが指定されたクラスに属するか、そのクラスの派生クラスに属するかを判断できます。構文は次のとおりです。

isinstance(object, classinfo)

このうち、object は判定対象のオブジェクト、classinfo は単一のクラスまたは複数のクラスで構成されるタプルです。オブジェクトがいずれかのクラスまたはその派生クラスに属している場合、 isinstance() 関数は True を返し、それ以外の場合は False を返します。

次は、 isinstance() 関数を使用してオブジェクト タイプを決定する方法を示す簡単な例です。

class Dog:
    def __init__(self, name):
        self.name = name

class Cat:
    def __init__(self, name):
        self.name = name

dog = Dog("旺财")
cat = Cat("小花")

print(isinstance(dog, Dog))  # 输出:True
print(isinstance(dog, Cat))  # 输出:False
print(isinstance(cat, (Dog, Cat)))  # 输出:True

上の例では、Dog と Cat という 2 つのクラスを定義しました。は属性名です。次に、犬のオブジェクトと猫のオブジェクトを作成しました。 isinstance() 関数を通じて、犬のオブジェクトが Dog クラスに属するかどうか、猫のオブジェクトが Cat クラスに属するかどうか、および猫のオブジェクトが Dog クラスに属するか Cat クラスに属するかを判断します。

isinstance() 関数は、単一のオブジェクトのタイプを判断するだけでなく、オブジェクトが複数のクラスのいずれかに属しているかどうかも判断できます。

isinstance() 関数は、オブジェクト型の継承関係を確認するためにも使用できることに注意してください。つまり、クラスが別のクラスを継承する場合、 isinstance() 関数はオブジェクトが親クラスに属するかサブクラスに属するかを判断できます。

以下は、isinstance() 関数の継承判定を示す、より複雑な例です:

class Animal:
    pass

class Mammal(Animal):
    pass

class Dog(Mammal):
    def __init__(self, name):
        self.name = name

class Cat(Mammal):
    def __init__(self, name):
        self.name = name

dog = Dog("旺财")
cat = Cat("小花")

print(isinstance(dog, Dog))  # 输出:True
print(isinstance(dog, Mammal))  # 输出:True
print(isinstance(dog, Animal))  # 输出:True
print(isinstance(cat, Mammal))  # 输出:True
print(isinstance(cat, Animal))  # 输出:True
print(isinstance(dog, Cat))  # 输出:False

上の例では、Animal クラスと Mammal クラスを親クラスとして定義しました。を作成し、Mammal クラスのサブクラスとして Dog クラスと Cat クラスを定義しました。 isinstance() 関数を通じて、犬のオブジェクトが Dog クラス、Mammal クラス、Animal クラスに属するかどうか、cat オブジェクトが Mammal クラスと Animal クラスに属するかどうか、そして Dog オブジェクトが Cat クラスに属するかどうかを判断します。

この記事の導入部を通じて、オブジェクトが特定のクラスに属しているかどうかを isinstance() 関数を通じて簡単に判断できることがわかりました。実際の開発においては、isinstance()関数の使い方をマスターすることで、オブジェクトの種類判定や処理ロジックをより柔軟に扱えるようになります。 Pythonのカテゴリ判定に興味がある方は、実際のプロジェクトでisinstance()関数を使って練習してみると、プログラミングスキルの向上に役立つと思います。

以上がPython の isinstance() 関数を使用して、オブジェクトが特定のクラスに属しているかどうかを判断しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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