Existe-t-il un moyen de vérifier si le type d'une variable en python est une chaîne de caractères. par exemple :
isinstance(x,int);
pour des valeurs entières ?
En Python 2.x, vous feriez
isinstance(s, basestring)
basestring
est la abstract superclass de str
et unicode
. Il peut être utilisé pour tester si un objet est une instance de str
ou unicode
.
En Python 3.x, le test correct est
isinstance(s, str)
La classe bytes
n'est pas considérée comme un type de chaîne de caractères dans Python 3.
Modifier en fonction de la meilleure réponse ci-dessous. Descendez d'environ 3 réponses et découvrez la coolitude de basestring.
Ancienne réponse : Faites attention aux chaînes unicode, que vous pouvez obtenir à plusieurs endroits, y compris tous les appels COM dans Windows.
if isinstance(target, str) or isinstance(target, unicode):