Vérifier avec isinstance()
Dans cette étape, vous apprendrez à utiliser la fonction isinstance()
en Python pour vérifier si un objet est une instance d'une classe ou d'un type particulier. C'est une autre façon de vérifier le type de données d'une variable, et cela peut être particulièrement utile lorsque vous travaillez avec l'héritage et les classes personnalisées.
Continuons à utiliser le fichier string_examples.py
avec lequel vous avez travaillé. Nous allons ajouter du code pour démontrer le fonctionnement de isinstance()
.
La fonction isinstance()
prend deux arguments : l'objet que vous souhaitez vérifier et la classe ou le type contre lequel vous souhaitez vérifier. Elle renvoie True
si l'objet est une instance de la classe ou du type spécifié, et False
sinon.
Ajoutez les lignes suivantes à votre fichier string_examples.py
:
## Checking with isinstance()
print(isinstance(string1, str))
print(isinstance(number, int))
print(isinstance(decimal, float))
print(isinstance(boolean, bool))
print(isinstance(string1, int))
Enregistrez le fichier. Maintenant, exécutons le script en utilisant la commande python
dans le terminal :
python ~/project/string_examples.py
Vous devriez voir la sortie suivante :
Hello, LabEx!
Python is fun
12345
!@#$%^
This is a sentence.
This is a
multi-line string.
This is another
multi-line string.
<class 'str'>
<class 'str'>
<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>
True
True
True
True
False
Comme vous pouvez le voir, isinstance(string1, str)
renvoie True
car string1
est une chaîne de caractères (string). De même, isinstance(number, int)
renvoie True
car number
est un entier, et ainsi de suite. Cependant, isinstance(string1, int)
renvoie False
car string1
n'est pas un entier.
isinstance()
peut également être utilisée avec des classes personnalisées. Par exemple :
class MyClass:
pass
obj = MyClass()
print(isinstance(obj, MyClass))
Ajoutez ces lignes à votre fichier string_examples.py
et exécutez-le à nouveau :
python ~/project/string_examples.py
Vous devriez voir la sortie suivante :
Hello, LabEx!
Python is fun
12345
!@#$%^
This is a sentence.
This is a
multi-line string.
This is another
multi-line string.
<class 'str'>
<class 'str'>
<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>
True
True
True
True
False
True
Ici, isinstance(obj, MyClass)
renvoie True
car obj
est une instance de MyClass
.
Utiliser isinstance()
est un moyen puissant de vérifier le type d'un objet en Python, surtout lorsque vous travaillez avec l'héritage et les classes personnalisées. Cela vous permet d'écrire un code plus robuste et flexible capable de gérer correctement différents types de données.