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.
1 2 3 | texte = "Python" resultat = texte.isalpha() print(resultat) |
Sortie :
1 | True |
Si la chaîne contient un chiffre, un espace, un signe de ponctuation ou un autre caractère non alphabétique, isalpha() retourne False.
1 2 3 | texte = "Python3" resultat = texte.isalpha() print(resultat) |
Sortie :
1 | False |
La méthode isalpha() fonctionne aussi bien avec les lettres majuscules qu'avec les lettres minuscules.
1 2 3 | print("PYTHON".isalpha()) print("python".isalpha()) print("PyThOn".isalpha()) |
Sortie :
1 2 3 | True True True |
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.
1 2 | texte = "P" print(texte.isalpha()) |
Sortie :
1 | True |
Une chaîne contenant plusieurs lettres retourne également True.
1 2 | texte = "Programmation" print(texte.isalpha()) |
Sortie :
1 | True |
En revanche, la chaîne vide ne contient aucun caractère alphabétique. isalpha() retourne donc False.
1 2 | texte = "" print(texte.isalpha()) |
Sortie :
1 | False |
Un espace suffit également pour que le résultat devienne False, même lorsque tous les autres caractères sont des lettres.
1 2 | texte = "Python facile" print(texte.isalpha()) |
Sortie :
1 | False |
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.
1 2 | texte = "français" print(texte.isalpha()) |
Sortie :
1 | True |
Le même principe s'applique à d'autres mots contenant des lettres accentuées.
1 2 | print("élève".isalpha()) print("École".isalpha()) |
Sortie :
1 2 | True True |
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.
1 2 | print("Python2026".isalpha()) print("Python".isalpha()) |
Sortie :
1 2 | False True |
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.
1 2 | print("Python facile".isalpha()) print("Pythonfacile".isalpha()) |
Sortie :
1 2 | False True |
Présence de caractères spéciaux
Les signes de ponctuation et de nombreux caractères spéciaux provoquent également le retour de False.
1 2 3 | print("Python!".isalpha()) print("Python- facile".isalpha()) print("Python_Java".isalpha()) |
Sortie :
1 2 3 | False False False |
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.
1 2 3 4 5 | nom = "Yassine" if nom.isalpha(): print("Le nom contient uniquement des lettres") else: print("Le nom contient d'autres caractères") |
Sortie :
1 | Le nom contient uniquement des lettres |
Si la valeur contient un chiffre, la condition devient fausse.
1 2 3 4 5 | nom = "Yassine25" if nom.isalpha(): print("Valeur valide") else: print("Valeur invalide") |
Sortie :
1 | Valeur invalide |
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.
1 2 3 4 5 | nom = "Yassine Amrani" if nom.replace(" ", "").isalpha(): print("Le nom contient uniquement des lettres et des espaces") else: print("Le nom contient des caractères non autorisés") |
Sortie :
1 | Le nom contient uniquement des lettres et des espaces |
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.
1 2 3 | texte = " Python " resultat = texte.strip().isalpha() print(resultat) |
Sortie :
1 | True |
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.
1 2 3 4 5 | mot = "Programmation" if mot.isalpha(): print("Mot valide") else: print("Mot invalide") |
Sortie :
1 | Mot valide |
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.
1 2 3 4 | valeurs = ["Python", "Java17", "PHP", "HTML5", "Django"] for valeur in valeurs: if valeur.isalpha(): print(valeur) |
Sortie :
1 2 3 | Python PHP Django |
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.
1 2 3 | valeurs = ["Python", "2026", "Java", "HTML5", "CSS"] mots = [valeur for valeur in valeurs if valeur.isalpha()] print(mots) |
Sortie :
1 | ['Python', 'Java', 'CSS'] |
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.
1 2 3 | phrase = "Python version 3 est disponible" for mot in phrase.split(): print(mot, ":", mot.isalpha()) |
Sortie :
1 2 3 4 5 | Python : True version : True 3 : False est : True disponible : True |
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.
1 2 3 | texte = "Python2026" print("isalpha() :", texte.isalpha()) print("isalnum() :", texte.isalnum()) |
Sortie :
1 2 | isalpha() : False isalnum() : True |
Tester plusieurs chaînes
L'exemple suivant permet de comparer le comportement de isalpha() avec plusieurs types de contenus.
1 2 3 | valeurs = ["Python", "Python3", "Python facile", "École", "", "Bonjour!"] for valeur in valeurs: print(repr(valeur), ":", valeur.isalpha()) |
Sortie :
1 2 3 4 5 6 | 'Python' : True 'Python3' : False 'Python facile' : False 'École' : True '' : False 'Bonjour!' : False |
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.
1 2 3 4 5 | print("Python".isalpha()) print("Python2026".isalpha()) print("Python facile".isalpha()) print("français".isalpha()) print("".isalpha()) |
Sortie :
1 2 3 4 5 | True False False True 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/



