1. À propos de isspace() en Python
La méthode isspace() permet de vérifier si une chaîne de caractères contient uniquement des caractères d'espacement. Elle retourne une valeur booléenne : True si tous les caractères de la chaîne sont considérés comme des espaces par Python et False dans le cas contraire.
Il est important de comprendre que isspace() ne reconnaît pas uniquement le caractère espace classique. Elle reconnaît également plusieurs caractères d'espacement comme la tabulation et le saut de ligne.
Le programme suivant teste une chaîne contenant uniquement plusieurs espaces.
1 2 | texte = " " print(texte.isspace()) |
Sortie :
1 | True |
En revanche, dès que la chaîne contient un caractère qui n'est pas un caractère d'espacement, isspace() retourne False.
1 2 | texte = " Python " print(texte.isspace()) |
Sortie :
1 | False |
La syntaxe générale de la méthode est simplement chaine.isspace(). Elle ne nécessite aucun argument et ne modifie pas la chaîne d'origine.
2. Tester une chaîne avec isspace()
La méthode isspace() retourne True lorsque la chaîne contient au moins un caractère et que tous ses caractères sont des caractères d'espacement. Un seul espace suffit donc pour obtenir True.
1 2 | texte = " " print(texte.isspace()) |
Sortie :
1 | True |
Une chaîne contenant plusieurs espaces respecte également cette condition.
1 2 | texte = " " print(texte.isspace()) |
Sortie :
1 | True |
Si la chaîne contient des lettres en plus des espaces, elle n'est plus composée uniquement de caractères d'espacement.
1 2 | texte = "Python facile" print(texte.isspace()) |
Sortie :
1 | False |
Le même principe s'applique lorsqu'un chiffre est présent dans la chaîne.
1 2 | texte = " 5 " print(texte.isspace()) |
Sortie :
1 | False |
Cas particulier de la chaîne vide
Une chaîne vide ne contient aucun caractère. Comme isspace() exige au moins un caractère d'espacement pour retourner True, elle retourne False pour une chaîne vide.
1 2 | texte = "" print(texte.isspace()) |
Sortie :
1 | False |
3. Comprendre les caractères reconnus par isspace()
La méthode isspace() reconnaît différents caractères d'espacement. Elle ne se limite donc pas au caractère obtenu en appuyant sur la barre d'espace du clavier.
Tester une tabulation
Le caractère spécial \t représente une tabulation. Une chaîne contenant uniquement une ou plusieurs tabulations est considérée comme une chaîne d'espacement.
1 2 | texte = "\t" print(texte.isspace()) |
Sortie :
1 | True |
Tester un saut de ligne
Le caractère spécial \n représente un saut de ligne. Il est également reconnu comme un caractère d'espacement par isspace().
1 2 | texte = "\n" print(texte.isspace()) |
Sortie :
1 | True |
Combiner plusieurs caractères d'espacement
Une chaîne peut contenir différents types de caractères d'espacement. Si tous ses caractères appartiennent à cette catégorie, isspace() retourne toujours True.
1 2 | texte = " \t\n " print(texte.isspace()) |
Sortie :
1 | True |
Pour visualiser précisément les caractères invisibles présents dans une chaîne, la fonction repr() est particulièrement utile. Elle permet notamment de voir les séquences \t et \n.
1 2 3 | textes = [" ", "\t", "\n", " \t\n ", " Python "] for texte in textes: print(repr(texte), texte.isspace()) |
Sortie :
1 2 3 4 5 | ' ' True '\t' True '\n' True ' \t\n ' True ' Python ' False |
4. Utiliser isspace() dans une condition
La méthode isspace() peut être utilisée directement dans une instruction if. Cela permet notamment de détecter une saisie composée uniquement d'espaces.
1 2 3 4 5 | texte = " " if texte.isspace(): print("La chaîne contient uniquement des espaces.") else: print("La chaîne contient d'autres caractères.") |
Sortie :
1 | La chaîne contient uniquement des espaces. |
Lorsque la chaîne contient du texte, la condition devient fausse et le bloc else est exécuté.
1 2 3 4 5 | texte = "Python" if texte.isspace(): print("Espaces uniquement") else: print("La chaîne contient du texte.") |
Sortie :
1 | La chaîne contient du texte. |
Détecter une saisie vide ou composée uniquement d'espaces
Une chaîne vide retourne False avec isspace(). Pour vérifier qu'une saisie est soit vide, soit composée uniquement de caractères d'espacement, il faut donc traiter les deux situations.
1 2 3 4 5 | texte = " " if texte == "" or texte.isspace(): print("La saisie est vide ou contient uniquement des espaces.") else: print("La saisie contient des données.") |
Sortie :
1 | La saisie est vide ou contient uniquement des espaces. |
Une autre technique courante consiste à utiliser strip(). Cette méthode retire les caractères d'espacement situés aux extrémités de la chaîne. Si le résultat est une chaîne vide, aucune donnée significative n'a été saisie.
1 2 3 4 5 | texte = " \t\n " if texte.strip() == "": print("Aucun texte significatif.") else: print("La chaîne contient du texte.") |
Sortie :
1 | Aucun texte significatif. |
5. Exemples pratiques avec isspace()
Compter les caractères d'espacement
Comme isspace() peut être appliquée à une chaîne d'un seul caractère, elle permet de compter tous les caractères d'espacement présents dans un texte.
1 2 3 4 5 6 | texte = "Python est facile" nombre = 0 for caractere in texte: if caractere.isspace(): nombre += 1 print(nombre) |
Sortie :
1 | 2 |
Afficher la position des espaces
La fonction enumerate() peut être combinée avec isspace() pour déterminer les indices des caractères d'espacement dans une chaîne.
1 2 3 4 | texte = "Python est facile" for indice, caractere in enumerate(texte): if caractere.isspace(): print(indice) |
Sortie :
1 2 | 6 10 |
Supprimer tous les caractères d'espacement
Une compréhension de chaîne avec join() permet d'utiliser isspace() pour éliminer les caractères d'espacement présents dans un texte.
1 2 3 4 5 6 | texte = "Python est facile" resultat = "".join( caractere for caractere in texte if not caractere.isspace() ) print(resultat) |
Sortie :
1 | Pythonestfacile |
Filtrer une liste de chaînes
La méthode isspace() peut également servir à éliminer les éléments d'une liste qui contiennent uniquement des caractères d'espacement. Pour éliminer également les chaînes vides, on ajoute le test texte != "".
1 2 3 4 5 6 | textes = ["Python", " ", "Java", "\t", "", "PHP"] resultat = [ texte for texte in textes if texte != "" and not texte.isspace() ] print(resultat) |
Sortie :
1 | ['Python', 'Java', 'PHP'] |
Comparer isspace() avec d'autres méthodes
Les méthodes isspace(), isalpha(), isdigit() et isalnum() vérifient des catégories différentes de caractères. Le programme suivant permet de comparer leur comportement.
1 2 3 4 5 6 7 8 9 | valeurs = [" ", "Python", "2026", "Python2026"] for valeur in valeurs: print( repr(valeur), valeur.isspace(), valeur.isalpha(), valeur.isdigit(), valeur.isalnum() ) |
Sortie :
1 2 3 4 | ' ' True False False False 'Python' False True False True '2026' False False True True 'Python2026' False False False True |
6. À retenir !
La méthode isspace() permet de savoir si une chaîne non vide est constituée uniquement de caractères d'espacement. Elle est particulièrement utile pour contrôler les saisies, analyser du texte et identifier différents types d'espaces.
- isspace() ne prend aucun argument.
- Elle retourne True si tous les caractères de la chaîne sont des caractères d'espacement.
- La chaîne doit contenir au moins un caractère pour que isspace() puisse retourner True.
- Une chaîne vide retourne donc False.
- Un espace classique est reconnu par isspace().
- Une tabulation \t est également reconnue.
- Un saut de ligne \n est également reconnu.
- Une chaîne mélangeant espaces, tabulations et sauts de ligne peut retourner True si elle ne contient aucun autre caractère.
- La présence d'une lettre, d'un chiffre ou d'un autre caractère non considéré comme un espace entraîne le résultat False.
- Pour détecter à la fois une chaîne vide et une chaîne composée uniquement d'espaces, on peut utiliser strip() ou combiner un test de chaîne vide avec isspace().
Le programme suivant résume le comportement de isspace() sur plusieurs chaînes différentes.
1 2 3 | valeurs = [" ", " ", "\t", "\n", " \t\n ", "", "Python", " Python "] for valeur in valeurs: print(repr(valeur), ":", valeur.isspace()) |
Sortie :
1 2 3 4 5 6 7 8 | ' ' : True ' ' : True '\t' : True '\n' : True ' \t\n ' : True '' : False 'Python' : False ' Python ' : False |
Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/



