Tester si une chaîne contient uniquement des lettres avec isalpha() en Python

1. À propos de isalpha() en Python

En Python, la méthode isalpha() permet de vérifier si une chaîne de caractères contient uniquement des caractères alphabétiques. Elle retourne une valeur booléenne : True si tous les caractères sont alphabétiques et si la chaîne n'est pas vide, et False dans le cas contraire.

Dans l'exemple suivant, la chaîne contient uniquement des lettres. isalpha() retourne donc True.

Sortie :

Si la chaîne contient un chiffre, un espace, un signe de ponctuation ou un autre caractère non alphabétique, isalpha() retourne False.

Sortie :

La méthode isalpha() fonctionne aussi bien avec les lettres majuscules qu'avec les lettres minuscules.

Sortie :

2. Tester une chaîne avec isalpha()

La méthode isalpha() examine tous les caractères de la chaîne. Pour obtenir True, chaque caractère doit être considéré comme alphabétique par Python et la chaîne doit contenir au moins un caractère.

Une chaîne constituée d'un seul caractère alphabétique satisfait donc la condition.

Sortie :

Une chaîne contenant plusieurs lettres retourne également True.

Sortie :

En revanche, la chaîne vide ne contient aucun caractère alphabétique. isalpha() retourne donc False.

Sortie :

Un espace suffit également pour que le résultat devienne False, même lorsque tous les autres caractères sont des lettres.

Sortie :

3. Comprendre les caractères acceptés et refusés par isalpha()

La méthode isalpha() ne se limite pas aux lettres non accentuées de l'alphabet latin. Elle reconnaît les caractères alphabétiques Unicode pris en charge par Python.

Tester des lettres accentuées

Les lettres accentuées sont considérées comme alphabétiques. Une chaîne comme "français" retourne donc True.

Sortie :

Le même principe s'applique à d'autres mots contenant des lettres accentuées.

Sortie :

Présence de chiffres

Les chiffres ne sont pas des caractères alphabétiques. La présence d'un seul chiffre suffit donc pour que isalpha() retourne False.

Sortie :

Présence d'espaces

Les espaces ne sont pas considérés comme des caractères alphabétiques par isalpha(). Une expression composée de plusieurs mots séparés par un espace retourne donc False.

Sortie :

Présence de caractères spéciaux

Les signes de ponctuation et de nombreux caractères spéciaux provoquent également le retour de False.

Sortie :

4. Utiliser isalpha() dans une condition

Comme isalpha() retourne True ou False, elle peut être utilisée directement dans une instruction if. Cela permet notamment de contrôler une donnée saisie par un utilisateur.

Dans l'exemple suivant, le programme vérifie si la valeur contient uniquement des caractères alphabétiques.

Sortie :

Si la valeur contient un chiffre, la condition devient fausse.

Sortie :

Il est parfois nécessaire d'autoriser des espaces entre plusieurs mots. Dans ce cas, on peut retirer les espaces avant d'appliquer isalpha(), à condition que cette règle corresponde réellement au type de donnée attendu.

Sortie :

De la même manière, strip() peut être utilisé lorsque seuls les espaces situés au début et à la fin doivent être ignorés.

Sortie :

5. Exemples pratiques avec isalpha()

Valider un mot

isalpha() peut servir à vérifier qu'un mot ne contient ni chiffre, ni espace, ni signe de ponctuation.

Sortie :

Filtrer une liste de chaînes

La méthode isalpha() peut être utilisée dans une boucle pour sélectionner uniquement les éléments entièrement alphabétiques d'une liste.

Sortie :

Séparer les mots alphabétiques des autres valeurs

Une compréhension de liste permet de récupérer rapidement toutes les chaînes dont les caractères sont exclusivement alphabétiques.

Sortie :

Vérifier chaque mot d'une phrase

Après avoir découpé une phrase avec split(), isalpha() peut être appliquée séparément à chaque mot.

Sortie :

Comparer isalpha() et isalnum()

isalpha() exige des caractères alphabétiques, tandis que isalnum() accepte à la fois les caractères alphabétiques et numériques. Cette différence est importante lorsqu'une chaîne contient des chiffres.

Sortie :

Tester plusieurs chaînes

L'exemple suivant permet de comparer le comportement de isalpha() avec plusieurs types de contenus.

Sortie :

6. À retenir !

La méthode isalpha() permet de déterminer si une chaîne non vide est constituée exclusivement de caractères alphabétiques. Elle retourne True ou False et peut donc être utilisée directement dans les conditions.

  • isalpha() retourne True lorsque tous les caractères de la chaîne sont alphabétiques et que la chaîne contient au moins un caractère.
  • Elle retourne False si la chaîne contient un chiffre.
  • Elle retourne False si la chaîne contient un espace.
  • Elle retourne False en présence de signes de ponctuation ou de nombreux caractères spéciaux.
  • Une chaîne vide retourne False.
  • Les lettres majuscules et minuscules sont acceptées.
  • Les lettres accentuées comme é, è ou ç sont reconnues comme alphabétiques.
  • isalpha() prend en charge les caractères alphabétiques Unicode reconnus par Python.
  • strip(), replace() ou d'autres traitements peuvent être appliqués avant isalpha() lorsque les règles de validation le nécessitent.
  • Pour accepter également les caractères numériques, on peut utiliser isalnum() à la place de isalpha().

Le programme suivant résume le comportement de isalpha() avec plusieurs chaînes.

Sortie :

 




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/


loader-image
Le prix initial était : € 11,00.Le prix actuel est : € 10,00.
Le prix initial était : € 6,00.Le prix actuel est : € 5,00.



Leave a Reply

Your email address will not be published. Required fields are marked *