type() et isinstance() dans Python avec des exemples

Qu'est-ce que type() dans 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 obtiendrez la sortie sous la forme , pour la liste, ce sera , etc.

En utilisant la commande 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 également possible de passer trois arguments à type(), c'est-à-dire type(name, bases, dict), dans ce cas, il vous renverra un nouvel objet type.

Syntaxe pour type()

type() peut être utilisé de deux manières, comme indiqué ci-dessous :

 type(object)
type(namr, bases, dict)

Paramètres: type(objet)

  • object : Il s’agit d’un paramètre obligatoire. S'il ne s'agit que d'un paramètre passé à type(), il vous renverra le type du paramètre.

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

  • nom : nom de la classe.
  • socles : (facultatif). Ceci est un paramètre facultatif et c'est la classe de base
  • dict : (facultatif). Il s'agit d'un paramètre facultatif et c'est un espace de noms qui a la définition de la classe.

Valeur de retour

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

Si les paramètres passés au type sont un type (objet, bases, dict), dans ce cas, il renverra un nouveau type d'objet.

Exemple de type()

Dans cet exemple, nous avons une valeur de chaîne, un nombre, une valeur flottante, un nombre complexe, une liste, un tuple, un dict et un ensemble. Nous utiliserons les variables de type pour voir le résultat de chacune d'elles.

str_list = "Welcome to Guru99"
age = 50
pi = 3.14
c_num = 3j+10
my_list = ["A", "B", "C", "D"]
my_tuple = ("A", "B", "C", "D")
my_dict = {"A":"a", "B":"b", "C":"c", "D":"d"}
my_set = {'A', 'B', 'C', 'D'}

print("The type is : ",type(str_list))
print("The type is : ",type(age))
print("The type is : ",type(pi))
print("The type is : ",type(c_num))
print("The type is : ",type(my_list))
print("The type is : ",type(my_tuple))
print("The type is : ",type(my_dict))
print("The type is : ",type(my_set))

Sortie :

The type is :<class 'str'>
The type is :<class 'int'>
The type is :<class 'float'>
The type is :<class 'complex'>
The type is :<class 'list'>
The type is :<class 'tuple'>
The type is :<class 'dict'>
The type is :<class 'set'>

Exemple : utilisation de type() pour un objet de classe.

Lorsque vous vérifiez l'objet créé à partir d'une classe à l'aide de type(), il renvoie le type de classe ainsi que le nom de la classe. Dans cet exemple, nous allons créer une classe et vérifier le type d'objet créé à partir du test de classe.

class test:
    s = 'testing'

t = test()
print(type(t))

Sortie :

<class '__main__.test'>

Exemple : utilisation du nom, des bases et du dict dans type()

Le type peut également être appelé en utilisant la syntaxe : type(name, bases, dict).

Les trois paramètres passés à type()ie, name, bases et dict sont les composants qui composent une définition de classe. Le nom représente le nom de la classe, les 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, c'est-à-dire le nom, les bases et le dict dans type().

Mise en situation :

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

t1 = type('NewClass', (MyClass,), dict(x='Hello World', y=50))
print(type(t1))
print(vars(t1))

Sortie :

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

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

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

Python isinstance fait partie de fonctions intégrées à Python. Python isinstance() prend deux arguments et renvoie vrai si le premier argument est une instance de l'information de classe donnée comme deuxième argument.

Syntaxe isinstance()

isinstance(object, classtype)

Paramètres

  • object : un objet dont vous comparez l’instance avec le type de classe. Il retournera vrai si le type correspond, sinon faux.
  • type de classe : un type ou une classe ou un tuple de types et/ou de classes.

Valeur de retour

Il renverra vrai si l'objet est une instance de type de classe et faux sinon.

Exemples de isinstance()

Dans cette section, nous étudierons divers exemples pour apprendre isinstance()

Exemple : isinstance() Vérification d'entier

Le code ci-dessous compare la valeur entière 51 avec le type int. Il renverra vrai si le type de 51 correspondances avec int sinon faux.

age = isinstance(51,int)
print("age is an integer:", age)

Sortie :

age is an integer: True

Exemple : isinstance() Vérification flottante

Dans cet exemple, nous allons comparer la valeur float avec le type float, c'est-à-dire que la valeur 3.14 sera comparée au type float.

pi = isinstance(3.14,float)
print("pi is a float:", pi)

Sortie :

pi is a float: True

Exemple : isinstance() Vérification de la chaîne

message = isinstance("Hello World",str)
print("message is a string:", message)

Sortie :

message is a string: True

Exemple : isinstance() Vérification de tuple

Le code recherche un tuple (1,2,3,4,5) de type tuple. Il retournera vrai si l'entrée donnée est de type tuple et faux sinon.

my_tuple = isinstance((1,2,3,4,5),tuple)
print("my_tuple is a tuple:", my_tuple)

Sortie :

my_tuple is a tuple: True

Exemple : isinstance() Définir la vérification

Le code recherche un ensemble ({1,2,3,4,5}, de type set. Il renverra true si l'entrée donnée est de type set et false sinon.

my_set = isinstance({1,2,3,4,5},set)
print("my_set is a set:", my_set)

Sortie :

my_set is a set: True

Exemple : vérification de la liste isinstance()

Le code recherche une liste [1,2,3,4,5], avec une liste de types. Il retournera vrai si l'entrée donnée est de type liste et faux sinon.

my_list = isinstance([1,2,3,4,5],list)
print("my_list is a list:", my_list)

Sortie :

my_list is a list: True

Exemple : vérification de dict isinstance()

Le code recherche un dict({"A":"a", "B":"b", "C":"c", "D":"d"}, avec le type dict. Il retournera vrai si l'entrée donnée est de type dict et false sinon.

my_dict = isinstance({"A":"a", "B":"b", "C":"c", "D":"d"},dict)
print("my_dict is a dict:", my_dict)

Sortie :

my_dict is a dict: True

Exemple : test isinstance() sur une classe

Le code montre la vérification de type de la classe avec isinstance() . L'objet de la classe est comparé au nom de la classe dans isinstance(). Il renvoie vrai si l'objet appartient à la classe et faux dans le cas contraire.

class MyClass:
    _message = "Hello World"

_class = MyClass()

print("_class is a instance of MyClass() : ", isinstance(_class,MyClass))

Sortie :

_class is a instance of MyClass() True

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

taper() estinstance()
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. Python possède une fonction intégrée appelée isinstance() qui compare la valeur avec le type donné. Si la valeur et le type donnés correspondent, elle renverra true, sinon false.
La valeur de retour est un objet de type La valeur de retour est un booléen, c'est-à-dire vrai ou faux.
class A:
my_listA = [1,2,3]

class B(A):
my_listB = [1,2,3]

print(type(A()) == A)
print(type(B()) == A)

Sortie :

True
False

En cas de type, la vérification de sous-classe renvoie false.

class A:
my_listA = [1,2,3]

class B(A):
my_listB = [1,2,3]

print(isinstance(A(), A))
print(isinstance(B(), A))

Sortie :

True
True

isinstance() donne une valeur véridique lorsqu'elle est vérifiée avec une sous-classe.

Résumé

  • 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 obtiendrez la sortie sous la forme , pour la liste, ce sera , etc.
  • Pour type(), vous pouvez passer un seul argument et la valeur de retour sera le type de classe de l'argument donné, par exemple type(object).
  • Il est également possible de passer trois arguments à type(), c'est-à-dire type(name, bases, dict), dans ce cas, il vous renverra un nouvel objet type.
  • Python possède une fonction intégrée appelée instance() qui compare la valeur avec le type donné. Si la valeur et le type donnés correspondent, elle renverra true sinon false. En utilisant isinstance(), vous pouvez tester une chaîne, un float, un int, une liste, un tuple, un dict, un set, une classe, etc.
  • En utilisant la méthode isinstance(), vous pouvez tester une chaîne, un float, un int, une liste, un tuple, un dict, un ensemble, une classe, etc.