Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Python

Comprendre type() et isinstance() en Python : exemples pratiques

Comprendre type() et isinstance() en Python : exemples pratiques

Qu'est-ce que type() en Python ?

Python a une fonction intégrée appelée type() qui vous aide à trouver le type de classe de la variable donnée en entrée. Par exemple, si l'entrée est une chaîne, vous obtenez <class 'str'>, pour une liste, <class 'list'>, etc.

En utilisant type(), vous pouvez passer un seul argument, et la valeur de retour sera le type de classe de l'argument donné, exemple : type(objet).

Il est aussi possible de passer trois arguments à type(), c.-à-d. type(nom, bases, dict), dans ce cas, il vous renverra un nouvel objet type.

Dans ce tutoriel, vous apprendrez :

Syntaxe pour type() :

type() peut être utilisé de deux façons comme montré ci-dessous :

type(objet)
type(nom, bases, dict)

Paramètres : type(objet)

Paramètres : type(nom, bases, dict)

Valeur de retour :

Si l'objet est le seul paramètre passé à type(), il renverra le type de l'objet.

Si les paramètres passés à type sont type(objet, bases, dict), il renverra un nouvel objet type.

Exemple de type()

Dans cet exemple, nous avons une valeur chaîne, nombre, valeur float, nombre complexe, liste, tuple, dict et ensemble. Nous utiliserons les variables avec type pour voir la sortie pour chacune.

liste_chaine = "Bienvenue sur Guru99"
age = 50
pi = 3.14
c_num = 3j + 10
ma_liste = ["A", "B", "C", "D"]
mon_tuple = ("A", "B", "C", "D")
mon_dict = {"A":"a", "B":"b", "C":"c", "D":"d"}
mon_ensemble = {'A', 'B', 'C', 'D'}

print("Le type est : ", type(liste_chaine))
print("Le type est : ", type(age))
print("Le type est : ", type(pi))
print("Le type est : ", type(c_num))
print("Le type est : ", type(ma_liste))
print("Le type est : ", type(mon_tuple))
print("Le type est : ", type(mon_dict))
print("Le type est : ", type(mon_ensemble))

Sortie :

Le type est : <class 'str'>
Le type est : <class 'int'>
Le type est : <class 'float'>
Le type est : <class 'complex'>
Le type est : <class 'list'>
Le type est : <class 'tuple'>
Le type est : <class 'dict'>
Le type est : <class 'set'>

Exemple : Utiliser type() pour objet de classe.

Quand vous vérifiez l'objet créé depuis une classe avec type(), il renvoie le type de classe avec le nom de la classe. Dans cet exemple, nous créons une classe et vérifions le type d'objet créé depuis la classe test.

class Test:
    s = 'test'

t = Test()
print(type(t))

Sortie :

<class '__main__.Test'>

Exemple : Utiliser name, bases et dict dans type()

Le type peut aussi être appelé avec la syntaxe : type(nom, bases, dict).

Les trois paramètres passés à type() — nom, bases et dict — sont les composants qui constituent une définition de classe. Le nom représente le nom de la classe, bases est la classe de base, et dict est le dictionnaire des attributs de la classe de base.

Dans cet exemple, nous allons utiliser les trois paramètres : nom, bases et dict dans type().

class MaClasse:
    x = 'Hello World'
    y = 50

t1 = type('NouvelleClasse', (MaClasse,), dict(x='Hello World', y=50))
print(type(t1))
print(vars(t1))

Sortie :

<class 'type'>
{'x': 'Hello World', 'y': 50, '__module__': '__main__', '__doc__': None}

Quand vous passez les trois arguments à type(), cela aide à initialiser une nouvelle classe avec les attributs de la classe de base.

Qu'est-ce que isinstance() en Python ?

Python isinstance fait partie des fonctions intégrées Python. isinstance() prend deux arguments et renvoie vrai si le premier argument est une instance du classinfo donné comme second argument.

Syntaxe isinstance()

isinstance(objet, type_classe)

Paramètres

Valeur de retour :

Renvoie vrai si l'objet est une instance de type_classe, faux sinon.

Exemples de isinstance()

Exemple : isinstance() vérification entier

Le code ci-dessous compare la valeur entière 51 avec le type int. Renvoie vrai si le type de 51 correspond à int, sinon faux.

age = isinstance(51, int)
print("age est un entier :", age)

Sortie :

age est un entier : True

Exemple : isinstance() vérification float

Dans cet exemple, nous comparons la valeur float avec le type float, c.-à-d. 3.14 sera comparé avec le type float.

pi = isinstance(3.14, float)
print("pi est un float :", pi)

Sortie :

pi est un float : True

Exemple : isinstance() vérification chaîne

message = isinstance("Hello World", str)
print("message est une chaîne :", message)

Sortie :

message est une chaîne : True

Exemple : isinstance() vérification tuple

Le code vérifie un tuple (1,2,3,4,5) avec le type tuple. Renvoie vrai si l'entrée est de type tuple, faux sinon.

mon_tuple = isinstance((1,2,3,4,5), tuple)
print("mon_tuple est un tuple :", mon_tuple)

Sortie :

mon_tuple est un tuple : True

Exemple : isinstance() vérification ensemble

Le code vérifie un ensemble ({1,2,3,4,5}) avec le type set. Renvoie vrai si l'entrée est de type set, faux sinon.

mon_ensemble = isinstance({1,2,3,4,5}, set)
print("mon_ensemble est un ensemble :", mon_ensemble)

Sortie :

mon_ensemble est un ensemble : True

Exemple : isinstance() vérification liste

Le code vérifie une liste [1,2,3,4,5] avec le type list. Renvoie vrai si l'entrée est de type list, faux sinon.

ma_liste = isinstance([1,2,3,4,5], list)
print("ma_liste est une liste :", ma_liste)

Sortie :

ma_liste est une liste : True

Exemple : isinstance() vérification dict

Le code vérifie un dict({"A":"a", "B":"b", "C":"c", "D":"d"}) avec le type dict. Renvoie vrai si l'entrée est de type dict, faux sinon.

mon_dict = isinstance({"A":"a", "B":"b", "C":"c", "D":"d"}, dict)
print("mon_dict est un dict :", mon_dict)

Sortie :

mon_dict est un dict : True

Exemple : isinstance() test sur une classe

Le code montre la vérification de type de classe avec isinstance(). L'objet de la classe est comparé avec le nom de la classe dans isinstance(). Renvoie vrai si l'objet appartient à la classe, faux sinon.

class MaClasse:
    _message = "Hello World"

_classe = MaClasse()
print("_classe est une instance de MaClasse() : ", isinstance(_classe, MaClasse))

Sortie :

_classe est une instance de MaClasse() : True

Différence entre type() et isinstance() en Python

type()isinstance()
Fonction intégrée qui aide à trouver le type de classe de la variable donnée en entrée. Fonction intégrée qui compare la valeur avec le type donné. Si la valeur et le type correspondent, renvoie vrai, sinon faux.
La valeur de retour est un objet type. La valeur de retour est un booléen (True ou False).
class A:
    ma_listeA = [1,2,3]
class B(A):
    ma_listeB = [1,2,3]
print(type(A()) == A)
print(type(B()) == A)

Sortie :

True
False

Avec type(), la vérification de sous-classe renvoie faux.

class A:
    ma_listeA = [1,2,3]
class B(A):
    ma_listeB = [1,2,3]
print(isinstance(A(), A))
print(isinstance(B(), A))

Sortie :

True
True

isinstance() renvoie une valeur vraie quand vérifié avec une sous-classe.

Résumé :

Python

  1. Expressions, instructions et blocs C# : Guide complet avec exemples pratiques
  2. Maîtriser la conversion et le transtypage de types en Python : Guide complet
  3. Maîtriser les nombres, la conversion de types et les mathématiques en Python
  4. Construire un robot avec Raspberry Pi et Python : Guide complet
  5. Maîtriser str.count() de Python : Compter caractères et sous-chaînes avec exemples
  6. Maîtriser les chaînes format() en Python avec exemples clairs
  7. Maîtriser la méthode String.find() de Python : Syntaxe, Exemples et Alternatives
  8. Maîtriser les fonctions lambda Python : exemples pratiques et bonnes pratiques
  9. Fonction Python round() expliquée avec exemples pratiques