Tester les majuscules et minuscules avec isupper() et islower() en Python

1. À propos de isupper() et islower() en Python

Python fournit les méthodes isupper() et islower() pour vérifier la casse des lettres présentes dans une chaîne de caractères. Ces deux méthodes retournent une valeur booléenne : True ou False.

La méthode isupper() retourne True lorsqu'une chaîne contient au moins un caractère alphabétique sensible à la casse et que tous ces caractères sont en majuscules. Les caractères sans casse, comme certains chiffres, espaces ou signes de ponctuation, n'empêchent pas nécessairement le résultat d'être True.

Le programme suivant teste une chaîne composée uniquement de lettres majuscules.

Sortie :

La méthode islower() fonctionne selon le même principe pour les minuscules. Elle retourne True si la chaîne contient au moins un caractère alphabétique sensible à la casse et si tous ces caractères sont en minuscules.

Sortie :

Ces méthodes effectuent uniquement un test. Elles ne transforment pas la chaîne. Pour convertir effectivement les caractères, on utilise notamment upper() et lower().

2. Tester les majuscules avec isupper()

La méthode isupper() permet de déterminer si tous les caractères alphabétiques sensibles à la casse d'une chaîne sont écrits en majuscules.

Dans l'exemple suivant, toutes les lettres sont en majuscules. La méthode retourne donc True.

Sortie :

Si une seule lettre minuscule est présente parmi les lettres, la condition n'est plus respectée.

Sortie :

Tester une phrase en majuscules

La présence d'espaces entre les mots n'empêche pas isupper() de retourner True. Les espaces n'ont pas de casse et sont ignorés lors du test des lettres.

Sortie :

Tester les lettres accentuées

La méthode isupper() fonctionne également avec de nombreux caractères Unicode. Une chaîne contenant des lettres accentuées majuscules peut donc être reconnue correctement.

Sortie :

En revanche, la présence d'une lettre accentuée minuscule rend le résultat False.

Sortie :

3. Tester les minuscules avec islower()

La méthode islower() vérifie si tous les caractères alphabétiques sensibles à la casse présents dans une chaîne sont écrits en minuscules.

Une chaîne contenant uniquement des lettres minuscules retourne True.

Sortie :

Si une seule lettre majuscule apparaît dans la chaîne, islower() retourne False.

Sortie :

Tester une phrase en minuscules

Comme avec isupper(), les espaces ne sont pas considérés comme des lettres majuscules ou minuscules. Une phrase dont toutes les lettres sont en minuscules retourne donc True.

Sortie :

Tester des caractères accentués minuscules

Les caractères Unicode possédant une casse sont également pris en compte par islower(). Les lettres accentuées minuscules sont donc correctement reconnues.

Sortie :

Une majuscule dans la même chaîne suffit à rendre le résultat False.

Sortie :

4. Comprendre le comportement avec les chiffres, espaces et caractères spéciaux

Une particularité importante de isupper() et islower() est que les caractères qui ne possèdent pas de casse ne sont pas utilisés pour décider si les lettres sont en majuscules ou en minuscules. Une chaîne peut donc contenir des chiffres, des espaces ou des signes de ponctuation tout en retournant True.

Chaîne contenant des lettres et des chiffres

Dans l'exemple suivant, les chiffres n'affectent pas le test. Comme toutes les lettres présentes sont en majuscules, isupper() retourne True.

Sortie :

Le même principe s'applique à islower() lorsque toutes les lettres sont en minuscules.

Sortie :

Chaîne contenant uniquement des chiffres

Une chaîne contenant uniquement des chiffres ne possède aucun caractère alphabétique sensible à la casse. Elle ne peut donc être considérée ni comme une chaîne en majuscules ni comme une chaîne en minuscules.

Sortie :

Chaîne contenant uniquement des espaces

Les espaces ne possèdent pas de casse. Une chaîne composée uniquement d'espaces retourne donc False avec les deux méthodes.

Sortie :

Chaîne vide

Une chaîne vide ne contient aucun caractère sensible à la casse. Les deux méthodes retournent donc également False.

Sortie :

Chaîne contenant de la ponctuation

Les signes de ponctuation n'empêchent pas isupper() ou islower() de retourner True lorsqu'au moins une lettre est présente et que toutes les lettres respectent la casse testée.

Sortie :

5. Exemples pratiques avec isupper() et islower()

Identifier la casse d'une chaîne

On peut combiner isupper() et islower() avec une structure conditionnelle pour déterminer si une chaîne est entièrement en majuscules, entièrement en minuscules ou contient un mélange de casses.

Sortie :

Filtrer les mots en majuscules

La méthode isupper() peut être utilisée dans une compréhension de liste pour sélectionner uniquement les éléments dont toutes les lettres sensibles à la casse sont en majuscules.

Sortie :

Filtrer les mots en minuscules

De la même manière, islower() permet de conserver uniquement les chaînes dont toutes les lettres sensibles à la casse sont en minuscules.

Sortie :

Comparer isupper() avec upper()

Il ne faut pas confondre isupper() et upper(). La première teste la casse et retourne un booléen, tandis que la seconde crée une nouvelle chaîne dans laquelle les caractères possédant une forme majuscule sont convertis.

Sortie :

Comparer islower() avec lower()

De la même manière, islower() effectue un test alors que lower() produit une nouvelle chaîne avec les caractères possédant une forme minuscule convertis en minuscules.

Sortie :

6. À retenir !

Les méthodes isupper() et islower() permettent de tester la casse des caractères d'une chaîne sans modifier cette dernière. Elles sont particulièrement utiles pour la validation de données, l'analyse de texte et le filtrage de chaînes.

  • isupper() retourne True lorsque la chaîne contient au moins un caractère sensible à la casse et que tous ces caractères sont en majuscules.
  • islower() retourne True lorsque la chaîne contient au moins un caractère sensible à la casse et que tous ces caractères sont en minuscules.
  • Une lettre de casse opposée suffit à faire retourner False.
  • Les chiffres ne sont ni majuscules ni minuscules et n'empêchent pas, à eux seuls, un résultat True.
  • Les espaces et de nombreux signes de ponctuation n'ont pas de casse et n'empêchent pas, à eux seuls, un résultat True.
  • Une chaîne contenant uniquement des chiffres retourne False avec les deux méthodes.
  • Une chaîne contenant uniquement des espaces retourne False avec les deux méthodes.
  • Une chaîne vide retourne False avec isupper() et islower().
  • Les deux méthodes prennent en charge de nombreux caractères Unicode possédant une casse.
  • isupper() et islower() testent la chaîne, tandis que upper() et lower() servent à la transformer.

Le programme suivant résume le comportement des deux méthodes sur plusieurs types de 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 *