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().

Exemple :

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

type() 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.

Rรฉsumez cet article avec :