Les caractères avec Python

Chaînes de caractères avec Python

Vous débutez l’apprentissage de Python et vous souhaitez réaliser des opérations basiques sur du texte ? Voici une brève introduction…

 

Apostrophes et guillemets

Un texte s’écrit entre apostrophes ou entre guillemets anglo-saxons. Si le texte ne comporte ni apostrophe ni guillemets, vous pouvez choisir l’un ou l’autre mais pas les deux : en écrivant print (" Salut’) vous ne récolterez qu’un message d’erreur.

Exemple. Ci-dessous, le texte à afficher comporte une apostrophe. Il est donc mis entre guillemets.

print("je m’appelle Léon")

Maintenant, le texte comporte des guillemets. On l’encadre avec des apostrophes :

print('il a dit « bonjour »')

Sinon, vous pouvez placer un antislash avant l’apostrophe…

print('il m\'a dit "bonjour"')

Si vous écrivez un nombre entre apostrophes, il sera donc considéré comme du texte et il vous sera impossible de faire des opérations mathématiques. Pour autant, un nombre en format texte n’est pas toujours une erreur. Un matricule ou un code postal sont des nombres sur lesquels on ne fait aucune opération.

Pour aller à la ligne : "\n"

Remarquez que dans une chaîne de caractères toutes les lettres et accents sont acceptés. En fait, n'importe quel caractère Unicode, émoji compris, est reconnu.

 

Concaténations

Une concaténation de chaînes nécessite le signe +.

va1 = 'Pulp '
va2 = 'fiction'
print(va1 + va2)

La console affiche Pulp fiction

Attention, Python ne peut pas concaténer du texte avec un nombre (sauf si celui-ci est converti en texte).

Vous pouvez également multiplier une chaîne de caractères.

texte = 'Ha ! '
Print(3 * texte)

Vous obtenez : Ha ! Ha ! Ha !

 

Transformations

Vous pouvez transformer ou afficher une chaîne de caractères en minuscules ou en majuscules. Ci-dessous, la variable n’est pas modifiée. Seule l'écriture change.

var = 'BonJOur'
print(var.upper())

Python affiche BONJOUR

Au contraire…

var = 'BonJOur'
print(var.lower())

Python affiche bonjour

Et pour avoir une première lettre en majuscule :

var = 'BonJOur'
print(var.capitalize())

Python affiche Bonjour

Ces instructions sont plus utiles qu’il n’y paraît. Par exemple, lorsqu’un utilisateur saisit son nom dans un formulaire disponible par Internet sans prêter attention à la casse, le texte peut être converti convenablement avant d’être sauvegardé dans une base de données.

 

Recherches

La longueur d’une chaîne est obtenue par la fonction len. D’ailleurs, celle-ci peut aussi bien s’appliquer à une liste.

texte = 'longue vie à Python'
print(len(texte))

La console affiche 19 puisque, en comptant les espaces, ce texte comporte 19 caractères.

Pour obtenir un caractère en particulier, indiquez son ordre entre crochets. Attention, Python commence par compter à partir de zéro et les espaces comptent comme des caractères.

Par exemple, vous avez le script suivant…

Texte = 'Salut'
print(Texte[4])

… vous obtenez t puisque S est le numéro 0.

Texte = 'Salut'
print(Texte[-2])

… vous obtenez u qui est la deuxième lettre en partant de la fin.

Texte = 'Salut'
print(Texte[0:4])

… vous obtenez salu c’est-à-dire 4 caractères à partir du numéro 0.

 

La classe str

Une chaîne de caractères est de classe str (string).

Exemple :

Nous avons vu qu’on ne pouvait pas concaténer du texte avec un nombre. Convertissons-le avec str.

num = 1453
texte = "Chute de Constantinople en"
print(texte + " "  + str(num))

Le résultat ne se fait pas attendre :

Chute de Constantinople en 1453