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

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

Aug 22, 2023 am 11:52 AM
python 物体 isinstance()

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 までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

テンプレートのメリットとデメリットは何ですか? テンプレートのメリットとデメリットは何ですか? May 08, 2024 pm 03:51 PM

テンプレートのメリットとデメリットは何ですか?

Deepseek Xiaomiをダウンロードする方法 Deepseek Xiaomiをダウンロードする方法 Feb 19, 2025 pm 05:27 PM

Deepseek Xiaomiをダウンロードする方法

Google AI、開発者向けに Gemini 1.5 Pro と Gemma 2 を発表 Google AI、開発者向けに Gemini 1.5 Pro と Gemma 2 を発表 Jul 01, 2024 am 07:22 AM

Google AI、開発者向けに Gemini 1.5 Pro と Gemma 2 を発表

わずか 250 ドルで、Hugging Face のテクニカル ディレクターが Llama 3 を段階的に微調整する方法を教えます わずか 250 ドルで、Hugging Face のテクニカル ディレクターが Llama 3 を段階的に微調整する方法を教えます May 06, 2024 pm 03:52 PM

わずか 250 ドルで、Hugging Face のテクニカル ディレクターが Llama 3 を段階的に微調整する方法を教えます

いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する May 06, 2024 pm 04:43 PM

いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する

golang 関数のデバッグと分析の完全ガイド golang 関数のデバッグと分析の完全ガイド May 06, 2024 pm 02:00 PM

golang 関数のデバッグと分析の完全ガイド

どうやって彼にdeepseekに尋ねますか どうやって彼にdeepseekに尋ねますか Feb 19, 2025 pm 04:42 PM

どうやって彼にdeepseekに尋ねますか

評価関数の保存方法 評価関数の保存方法 May 07, 2024 am 01:09 AM

評価関数の保存方法

See all articles