Tester le format d'un titre avec istitle() en Python

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().

Sortie :

Si le deuxième mot commence par une lettre minuscule, la chaîne ne respecte plus le format attendu.

Sortie :

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.

Sortie :

Une chaîne entièrement écrite en minuscules ne respecte pas le title case.

Sortie :

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.

Sortie :

Tester un seul mot

La méthode istitle() fonctionne également avec un seul mot. "Python" respecte le title case, contrairement à "python" et "PYTHON".

Sortie :

Tester une chaîne vide

Une chaîne vide ne contient aucun caractère sensible à la casse. La méthode istitle() retourne donc False.

Sortie :

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.

Sortie :

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.

Sortie :

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.

Sortie :

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.

Sortie :

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.

Sortie :

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.

Sortie :

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().

Sortie :

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.

Sortie :

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.

Sortie :

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.

Sortie :

Filtrer une liste de titres

Une compréhension de liste permet de sélectionner uniquement les chaînes pour lesquelles istitle() retourne True.

Sortie :

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.

Sortie :

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.

Sortie :

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.

Sortie :

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.

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 *