Les chaines de caractères


Les chaines de caractères sont des données de type str représentant une séquence de caractères entre guillemets simple ‘ ‘ ou double ” ”.

Trois syntaxes de chaînes sont disponibles :

syntaxe1 = ”Première forme sans un retour à la ligne”

syntaxe2 = ”Deuxième forme avec retour à la ligne\n”

syntaxe3 = ”””
Troisième forme multi-ligne
Troisième forme multi-ligne

Ce qui donne dans la console Python:

On peut effectuer des opérations sur les chaines :

. Détermination de la longueur de la chaine à l’aide de la fonction len():

. Concaténation de 2 chaines:

. Répétition d’une chaine :


Les chaines sont des objets auxquels on peut appliquer une méthode en utilisant la « notation pointée » entre la donnée/variable à laquelle on applique la méthode et le nom de la méthode : chaine.methode()

. Méthodes de test de l’état d’une chaine ch

Les méthodes couramment utilisées suivantes sont à valeur booléennes, c’est-à-dire qu’elles retournent la valeur True ou False.

. isupper() et islower() retournent True si ch ne contient respectivement que des majuscules/minuscules :

. istitle() retourne True si seule la première lettre de chaque mot de ch est en majuscule :

. isalnum(), isalpha(), isdigit() et isspace() retournent True si ch ne contient respectivement que des caractères alphanumériques, alphabétiques, numériques ou des espaces :


. Méthodes souvent utilisées retournant une nouvelle chaine

. lower(), upper(), capitalize() et swapcase() retournent respectivement une chaine en minuscule, en majuscule, en minuscule commençant par une majuscule, ou en casse inversée :

. strip(‘chars’), lstrip(‘chars’) et rstrip(‘chars’) suppriment toutes les combinaisons de ‘chars’ (ou l’espace par défaut) respectivement au début et en fin, au début, ou en fin d’une chaine :

. split(‘sep’, maxsplit) découpe la chaine en maxsplit morceaux (tous par défaut) suivant le séparateur ‘sep’ (ou l’espace par défaut) :

 . rsplit() effectue la même chose en commençant par la fin :

. splitlines() effectue le même travail mais avec les caractères de fin de ligne :

 

. Indiçage des chaines de caractères

Les chaines de caractères peuvent être indicées avec l’opérateur [ ] dans lequel l’indice, un entier signé qui commence à 0 indique la position d’un caractère :

s = « Rayon X » # len(s) ==> 7
print(s[0]) # R
print(s[2]) # y
print(s[-1]) # X
print(s[-3]) # n

Ci-dessous, un schéma représentatif de l’indiçage de la chaine s:

 

Il est possible d’extraire des sous-chaines de la chaine s :

s = « Rayon X » # len(s) ==> 7
s[1:4] # ‘ayo’ (de l’indice 1 compris à 4 non compris)
s[-2:] # ‘ X’ (de l’indice -2 compris à la fin)
s[:3] # ‘Ray’ (du début à 3 non compris)
s[3:] # ‘on X’ (de l’indice 3 compris à la fin)
s[::2] # ‘RynX’ (du début à la fin, de 2 en 2)

Opérations d’extraction résumées ci-dessous :