Vérifier que la variable est une chaîne ou non en Python

Manav Narula 30 janvier 2023
  1. Utilisez la fonction type() pour vérifier si une variable est une chaîne ou non
  2. Utilisez la fonction isinstance() pour vérifier si une variable est une chaîne ou non
Vérifier que la variable est une chaîne ou non en Python

Le type de données chaîne est utilisé pour représenter une collection de caractères. Ce didacticiel explique comment vérifier si une variable est de type chaîne ou non.

Utilisez la fonction type() pour vérifier si une variable est une chaîne ou non

La fonction type() renvoie le type de classe de la variable passée. Le code suivant montre comment utiliser cette fonction pour vérifier si une variable est une chaîne ou non.

value = "Yes String"
if type(value) == str:
    print("True")
else:
    print("False")

Production:

True

Cependant, il est à noter que cette méthode est généralement déconseillée et est appelée unidiomatique en Python. La raison en est que l’opérateur == compare la variable uniquement pour la classe de chaîne et retournera False pour toutes ses sous-classes.

Utilisez la fonction isinstance() pour vérifier si une variable est une chaîne ou non

Il est donc encouragé d’utiliser la fonction isinstance() sur le traditionnel type(). La fonction isinstance() vérifie si un objet appartient à la sous-classe spécifiée. L’extrait de code suivant explique comment nous pouvons l’utiliser pour rechercher des objets chaîne.

value = "Yes String"
if isinstance(value, str):
    print("True")
else:
    print("False")

Production:

True

En Python 2, nous pouvons utiliser la classe basestring, qui est une classe abstraite pour str et unicode, pour tester si un objet est une instance de str ou unicode. Par example,

value = "Yes String"
if isinstance(value, basestring):
    print("True")
else:
    print("False")

Production:

True

Pour utiliser la méthode ci-dessus en Python 3, nous pouvons utiliser le module six. Ce module a des fonctions qui nous permettent d’écrire du code compatible avec Python 2 et 3.

La fonction string_types() renvoie tous les types possibles pour les données string. Par example,

import six

value = "Yes String"
if isinstance(value, six.string_types):
    print("True")
else:
    print("False")

Production:

True
Auteur: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Article connexe - Python String