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.
