1. À propos de istitle() en Python
La méthode istitle() permet de vérifier si une chaîne respecte le format appelé title case par Python. Dans ce format, chaque groupe de caractères sensibles à la casse doit commencer par une majuscule et les caractères sensibles à la casse qui suivent doivent être en minuscules.
La méthode istitle() ne modifie pas la chaîne. Elle effectue uniquement un test et retourne une valeur booléenne : True lorsque la chaîne respecte les règles du title case et False dans le cas contraire.
Le programme suivant teste une chaîne dont les deux mots respectent le format attendu par istitle().
1 2 | texte = "Python Facile" print(texte.istitle()) |
Sortie :
1 | True |
Si le deuxième mot commence par une lettre minuscule, la chaîne ne respecte plus le format attendu.
1 2 | texte = "Python facile" print(texte.istitle()) |
Sortie :
1 | False |
Il ne faut pas confondre istitle() avec title(). La méthode istitle() vérifie le format d'une chaîne, tandis que title() retourne une nouvelle chaîne convertie selon les règles du title case de Python.
2. Tester une chaîne avec istitle()
La méthode istitle() s'utilise directement sur une chaîne et ne prend aucun argument. Pour retourner True, la chaîne doit contenir au moins un caractère sensible à la casse et respecter les règles du title case.
Dans l'exemple suivant, chaque mot commence par une majuscule et les lettres suivantes sont en minuscules.
1 2 | texte = "Apprendre Python Facilement" print(texte.istitle()) |
Sortie :
1 | True |
Une chaîne entièrement écrite en minuscules ne respecte pas le title case.
1 2 | texte = "apprendre python facilement" print(texte.istitle()) |
Sortie :
1 | False |
Une chaîne entièrement écrite en majuscules ne respecte généralement pas non plus le title case, car les lettres qui suivent la première lettre de chaque groupe doivent être en minuscules.
1 2 | texte = "PYTHON FACILE" print(texte.istitle()) |
Sortie :
1 | False |
Tester un seul mot
La méthode istitle() fonctionne également avec un seul mot. "Python" respecte le title case, contrairement à "python" et "PYTHON".
1 2 3 | print("Python".istitle()) print("python".istitle()) print("PYTHON".istitle()) |
Sortie :
1 2 3 | True False False |
Tester une chaîne vide
Une chaîne vide ne contient aucun caractère sensible à la casse. La méthode istitle() retourne donc False.
1 2 | texte = "" print(texte.istitle()) |
Sortie :
1 | False |
3. Comprendre les règles utilisées par istitle()
Pour comprendre précisément istitle(), il est préférable de parler de groupes de caractères sensibles à la casse plutôt que simplement de mots. Un caractère majuscule doit apparaître au début d'un tel groupe, puis les caractères sensibles à la casse suivants doivent être en minuscules.
Plusieurs mots séparés par des espaces
Les espaces séparent les groupes de lettres. Chaque nouveau groupe doit donc commencer par une majuscule pour que la chaîne respecte le title case.
1 2 | print("Cours Python Complet".istitle()) print("Cours Python complet".istitle()) |
Sortie :
1 2 | True False |
Utiliser des lettres accentuées
La méthode istitle() prend en charge les caractères Unicode possédant une casse. Les lettres accentuées majuscules et minuscules sont donc prises en compte.
1 2 | print("École Française".istitle()) print("École française".istitle()) |
Sortie :
1 2 | True False |
Comprendre le comportement avec une apostrophe
Une apostrophe est un caractère sans casse et interrompt la séquence de caractères sensibles à la casse. Le caractère sensible à la casse qui vient après peut donc être considéré comme le début d'un nouveau groupe. Cette règle explique certains résultats qui peuvent sembler surprenants avec des mots français contenant une apostrophe.
1 2 | print("L'École Python".istitle()) print("L'école Python".istitle()) |
Sortie :
1 2 | True False |
Ce comportement correspond aux règles internes de title case utilisées par Python. Il ne faut donc pas considérer istitle() comme un vérificateur des règles typographiques de la langue française.
Comprendre le comportement avec un trait d'union
Le trait d'union est également un caractère sans casse. Dans une expression comme "Jean-Pierre", les groupes "Jean" et "Pierre" doivent chacun respecter le title case.
1 2 | print("Jean-Pierre Dupont".istitle()) print("Jean-pierre Dupont".istitle()) |
Sortie :
1 2 | True False |
4. Tester istitle() avec les chiffres et les caractères spéciaux
Les chiffres, les espaces et de nombreux signes de ponctuation ne possèdent pas de casse. Ils ne sont donc pas directement considérés comme des majuscules ou des minuscules. Ils peuvent cependant séparer des groupes de caractères sensibles à la casse.
Utiliser des chiffres séparés des lettres
Dans l'exemple suivant, le nombre 2026 est séparé du mot Python par un espace. Le mot Python respecte le title case et le nombre ne possède pas de casse.
1 2 | texte = "Python 2026" print(texte.istitle()) |
Sortie :
1 | True |
Comprendre le comportement des chiffres placés entre des lettres
Un chiffre peut interrompre une séquence de caractères sensibles à la casse. La lettre située après le chiffre peut alors être considérée comme le début d'un nouveau groupe et doit être en majuscule pour respecter le title case.
1 2 | print("Python3Django".istitle()) print("Python3django".istitle()) |
Sortie :
1 2 | True False |
Tester une chaîne contenant uniquement des chiffres
Une chaîne composée uniquement de chiffres ne contient aucun caractère sensible à la casse. Elle ne peut donc pas respecter le title case au sens de istitle().
1 2 | texte = "2026" print(texte.istitle()) |
Sortie :
1 | False |
Utiliser des signes de ponctuation
Les signes de ponctuation peuvent également séparer des groupes de lettres. Dans l'exemple suivant, les deux groupes situés autour des deux-points doivent respecter le title case.
1 2 | print("Python: Les Chaînes".istitle()) print("Python: les Chaînes".istitle()) |
Sortie :
1 2 | True False |
Tester uniquement des caractères sans casse
Pour que istitle() retourne True, au moins un caractère sensible à la casse doit être présent. Des chiffres, des espaces ou de la ponctuation seuls ne suffisent donc pas.
1 2 3 | print("123".istitle()) print(" ".istitle()) print("! ?".istitle()) |
Sortie :
1 2 3 | False False False |
5. Exemples pratiques avec istitle()
Vérifier le format d'un titre
La méthode istitle() peut être utilisée dans une instruction if pour vérifier si une chaîne respecte le title case défini par Python.
1 2 3 4 5 | titre = "Introduction À Python" if titre.istitle(): print("Le titre respecte le format.") else: print("Le titre ne respecte pas le format.") |
Sortie :
1 | Le titre respecte le format. |
Filtrer une liste de titres
Une compréhension de liste permet de sélectionner uniquement les chaînes pour lesquelles istitle() retourne True.
1 2 3 4 5 6 7 8 9 | titres = [ "Cours Python", "cours Java", "Programmation Web", "BASES DE DONNÉES", "Intelligence Artificielle" ] resultat = [titre for titre in titres if titre.istitle()] print(resultat) |
Sortie :
1 | ['Cours Python', 'Programmation Web', 'Intelligence Artificielle'] |
Comparer istitle() et title()
La méthode istitle() effectue uniquement un test et retourne True ou False. La méthode title() transforme, quant à elle, la casse des caractères et retourne une nouvelle chaîne.
1 2 3 4 | texte = "apprendre python facilement" print(texte.istitle()) print(texte.title()) print(texte) |
Sortie :
1 2 3 | False Apprendre Python Facilement apprendre python facilement |
Transformer puis tester une chaîne
On peut utiliser title() pour obtenir une chaîne au format title case de Python, puis utiliser istitle() pour vérifier le résultat.
1 2 3 4 | texte = "cours complet de python" titre = texte.title() print(titre) print(titre.istitle()) |
Sortie :
1 2 | Cours Complet De Python True |
Le résultat montre une limite importante : le title case de Python ne correspond pas nécessairement aux conventions typographiques françaises. La méthode title() transforme ici "de" en "De". Pour créer des titres conformes à des règles éditoriales précises, un traitement personnalisé peut être nécessaire.
Observer le cas particulier des apostrophes avec title()
Le comportement de title() avec les apostrophes permet également de comprendre celui de istitle(). Python considère la lettre qui suit l'apostrophe comme le début d'un nouveau groupe de caractères sensibles à la casse.
1 2 3 4 | texte = "l'école de python" titre = texte.title() print(titre) print(titre.istitle()) |
Sortie :
1 2 | L'École De Python True |
Cette écriture respecte les règles de title case de Python, mais elle ne constitue pas nécessairement la forme typographique que l'on souhaiterait utiliser dans un titre français.
6. À retenir !
La méthode istitle() permet de vérifier si une chaîne respecte le title case défini par Python. Elle analyse la casse des caractères sans modifier la chaîne d'origine.
- istitle() ne prend aucun argument.
- Elle retourne True ou False.
- La chaîne doit contenir au moins un caractère sensible à la casse pour pouvoir retourner True.
- Chaque groupe de caractères sensibles à la casse doit commencer par une majuscule.
- Les caractères sensibles à la casse suivants du même groupe doivent être en minuscules.
- Une chaîne comme "Python Facile" retourne True.
- Une chaîne comme "Python facile" retourne False.
- Une chaîne contenant uniquement des chiffres, des espaces ou de la ponctuation retourne False.
- Les caractères sans casse, comme les espaces, les chiffres et la ponctuation, peuvent séparer des groupes de caractères sensibles à la casse.
- istitle() teste le format tandis que title() retourne une nouvelle chaîne convertie selon les règles du title case de Python.
Le programme suivant résume le comportement de istitle() sur plusieurs chaînes représentatives.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | valeurs = [ "Python Facile", "Python facile", "PYTHON FACILE", "Python 2026", "Python3Django", "Python3django", "École Française", "L'École Python", "2026", "" ] for valeur in valeurs: print(repr(valeur), ":", valeur.istitle()) |
Sortie :
1 2 3 4 5 6 7 8 9 10 | 'Python Facile' : True 'Python facile' : False 'PYTHON FACILE' : False 'Python 2026' : True 'Python3Django' : True 'Python3django' : False 'École Française' : True "L'École Python" : True '2026' : False '' : 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/



