Maison >développement back-end >Tutoriel Python >Utilisez la fonction isinstance() de Python pour déterminer si un objet appartient à une certaine classe

Utilisez la fonction isinstance() de Python pour déterminer si un objet appartient à une certaine classe

王林
王林original
2023-08-22 11:52:511748parcourir

Utilisez la fonction isinstance() de Python pour déterminer si un objet appartient à une certaine classe

Utilisez la fonction isinstance() de Python pour déterminer si un objet appartient à une certaine classe

En Python, nous devons souvent déterminer si un objet appartient à une classe spécifique. Afin de faciliter le jugement des catégories, Python fournit une fonction intégrée isinstance(). Cet article présentera l'utilisation de la fonction isinstance() et fournira des exemples de code. La fonction

isinstance() peut déterminer si un objet appartient à la classe spécifiée ou à une classe dérivée de la classe. Sa syntaxe est la suivante :

isinstance(object, classinfo)

Parmi eux, object est l'objet à juger, et classinfo peut être une classe unique ou un tuple composé de classes. Si l'objet appartient à l'une des classes ou à ses classes dérivées, la fonction isinstance() renverra True sinon, elle renvoie False ;

Ce qui suit est un exemple simple qui montre comment utiliser la fonction isinstance() pour déterminer le type d'objet :

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

Dans l'exemple ci-dessus, nous avons défini deux classes Dog et Cat, qui ont toutes deux un nom d'attribut. Ensuite, nous avons créé un objet chien et un objet chat. Grâce à la fonction isinstance(), nous déterminons si l'objet chien appartient à la classe Dog, si l'objet cat appartient à la classe Cat et si l'objet cat appartient à la classe Dog ou à la classe Cat.

En plus de déterminer le type d'un objet unique, la fonction isinstance() peut également déterminer si un objet appartient à l'une de plusieurs classes.

Il convient de noter que la fonction isinstance() peut également être utilisée pour déterminer la relation d'héritage des types d'objets. C'est-à-dire que si une classe hérite d'une autre classe, la fonction isinstance() peut déterminer si l'objet appartient à la classe ou à la sous-classe parent.

Ce qui suit est un exemple plus complexe qui démontre le jugement d'héritage de la fonction 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

Dans l'exemple ci-dessus, nous avons défini une classe Animal et une classe Mammifère comme classe parent, puis avons défini la classe Dog et La classe Chat est une sous-classe de la classe Mammifère. Grâce à la fonction isinstance(), nous déterminons si l'objet chien appartient à la classe Chien, à la classe Mammifère et à la classe Animal, si l'objet chat appartient à la classe Mammifère et à la classe Animal, et si l'objet chien appartient à la classe Chat.

Grâce à l'introduction de cet article, nous pouvons voir que nous pouvons facilement déterminer si un objet appartient à une classe spécifique grâce à la fonction isinstance(). Dans le développement réel, maîtriser l'utilisation de la fonction isinstance() peut nous aider à gérer le jugement du type d'objet et la logique de traitement avec plus de flexibilité. Si vous êtes intéressé par le jugement des catégories de Python, vous souhaiterez peut-être vous entraîner à utiliser la fonction isinstance() dans un projet réel, je pense que cela sera utile pour vos compétences en programmation.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn