Maison >développement back-end >Tutoriel Python >Que signifie isinstance en python

Que signifie isinstance en python

青灯夜游
青灯夜游original
2023-01-11 14:03:249515parcourir

En python, isinstance signifie « jugement de type ». isinstance() est une fonction intégrée utilisée pour déterminer si un objet est d'un type connu. La syntaxe est "isinstance(object, type)". Si c'est le cas, elle renvoie True, sinon elle renvoie False et si le paramètre de type est ; un tuple et que l'objet est l'un des types du tuple, alors cette fonction renverra également True.

Que signifie isinstance en python

L'environnement d'exploitation de ce tutoriel : système windows7, version python3, ordinateur DELL G3

En python, isinstance signifie "jugement de type".

fonction python isinstance()

fonction isinstance() pour déterminer si un objet est d'un type connu, similaire à type(). La différence entre

isinstance() et type() :

  • type() ne considère pas la sous-classe comme un type de classe parent et ne considère pas la relation d'héritage.

  • isinstance() considérera la sous-classe comme un type de classe parent et considérera la relation d'héritage.

Si vous souhaitez déterminer si deux types sont identiques, il est recommandé d'utiliser isinstance().

Si l'objet spécifié a le type spécifié, la fonction isinstance() renvoie True, sinon elle renvoie False.

Si le paramètre de type est un tuple, alors cette fonction retournera True si l'objet est l'un des types du tuple.

Syntaxe :

isinstance(object, type)
Paramètres Description
objet Obligatoire. objet.
type Un type ou une classe, ou un tuple de types et/ou de classes.

Exemple 1 : Vérifiez si "Bonjour" est l'un des types décrits dans le paramètre de type

x = isinstance("Hello", (str, float, int, str, list, dict, tuple))
print(x)

Que signifie isinstance en python

Exemple 2 : Vérifiez si y est une instance de myObj

class myObj:
  name = "Bill"

y = myObj()

x = isinstance(y, myObj)

print(x)

Que signifie isinstance en python

Connaissances étendues : type et La différence entre isinstance

type en python peut obtenir le type de données d'un objet, et isinstance peut déterminer le type de données d'un objet. Il y a deux différences entre eux

1 isinstance est plus flexible

. type renvoie simplement les données d'un type d'objet, et isinstance peut déterminer si le type de données de cet objet est l'un des nombreux types de données.

Supposons que nous voulions déterminer si le type de données d'un objet est int ou float. Les exemples d'écriture des deux fonctions sont les suivants

a = 4

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

# 使用isinstance
if isinstance(a, (int, float)):
    print('yes')

Évidemment, dans ce scénario, isinstance a plus d'avantages

2. de la relation d'héritage

class A:
    pass


class B(A):
    pass

a = A()
b = B()

print(type(b) == A)         # False
print(isinstance(b, A))     # True

B est une sous-classe de A. type(b) renvoie la classe B, qui n'est pas égale à A, mais B est une sous-classe de A. Par conséquent, on peut penser que b est aussi un objet de A . Face à ce type d'héritage Dans le cas de relations, il faut utiliser isinstance

Apprentissage recommandé : Tutoriel vidéo Python

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
Article précédent:Que signifie "+=" en pythonArticle suivant:Que signifie "+=" en python