Connection Menu Contenu

1788
membres
00h59
06
février
2012

Pseudo

Mot de passe

Accueil FORUM
repère : ROMMY Prod > Le tutoriel PYTHON 3.0 > Les chaînes de caractères

Les chaînes de caractères

Les chaînes de caractères sont très utilisées dans la programmation. Pour preuve, vous les avez déjà utilisées. C'était des variables qui contenaient des petits bout de code vert entre guillemets que j'appelais texte.

Les chaînes de caractères

Et bien les chaînes de caractères sont des variables contenants du texte. On appelle ça "chaîne de caractères" car ce sont plusieurs caractères qui se suivent.
Comme ce sont plusieurs caractères mis les uns après les autres, on peut considérer ceci à un autre type de variable, les tableaux. Et oui je vous avais dit que c'était un cas particulier.

Etant un cas particulier des tableaux, nous allons réutiliser les crochets et index.

Voici un exemple de chaîne de caractères ainsi que l'affichage de la 1ère lettre.
chaine = "salut ca va ?"
print (chaine)
print (chaine[0])
On obtient la phrase : salut ça va ?, puis s.
Vous pouvez donc voir que tout comme les tableaux, la première valeur (lettre) a pour index 0, la deuxième a pour index 1, etc...



Une chaîne est traditionnellement entre guillemets donc si vous voulez que la phrase comporte des guillemets, vous devrez mettre un anti-slash (\) devant ceux-ci.
chaine = "\"ROMMY Production\" : Le tuto python."
print (chaine)
Et vous obtenez :    "ROMMY Production" : Le tuto python.

Comme en python il n'existe pas de type "char", les apostrophes peuvent être utilisées et vous pourrez taper ceci pour avoir la même chose:
chaine = '"ROMMY Production" : Le tuto python.'
print (chaine)


Il y a d'autres caractères qui pourraient vous servir :
Utilité : Caractère :
Aller à la ligne \n
Tabulation
(décalage de quelques caractères)
\t
Afficher un anti-slash \\
Afficher une apostrophe \'
Afficher un guillemet \"
Saut de page \f
Retour en arrière \b
Retour chariot \r

Les opérateurs de chaîne de caractères

Voici quelques opérateurs qui pourraient vous êtres utiles :
Opérateur : Description :
+ Ajoute une chaîne à la suite d'une autre
chaine1 = "bout1"
chaine2 = "bout2"
chaine = chaine1 + chaine2
print (chaine)
On obtient : bout1bout2
* Multiplie la chaîne
chaine1 = "bout1"
chaine = chaine1*3
print (chaine)
On obtient : bout1bout1bout1
Ceci ne fonctionne qu'avec python

Fonctions utiles

Voici quelques fonctions :
Fonction : Description :
len(...) Retourne la taille de la chaine
chaine1 = "bout1"
taille = len(chaine1)
print (taille)
On obtient : 5
str(...) Transforme un chiffre en texte
chaine = str(6)
print (chaine)
On obtient : le caractère '6'
eval(...) Transforme une chaîne chiffrée en chiffre
chaine = eval('6')
print (chaine)
On obtient : le chiffre 6
.upper() Retourne la chaîne en majuscule.
chaine = "bout1"
majuscule = chaine.upper()
print (majuscule)
On obtient : BOUT1
.lower() Retourne la chaîne en minuscule.
chaine = "BOUT1"
minuscule = chaine.lower()
print (minuscule)
On obtient : bout1
.find('...') Retourne l'index du caractère s'il est présent dans la chaîne.
chaine = "bout1"
index = chaine.find('u')
print (index)
On obtient : 2.
Si le caractère n'est pas présent, on obtient -1.
.index('...') Retourne l'index du caractère s'il est présent dans la chaîne.
chaine = "bout1"
index = chaine.index('u')
print (index)
On obtient : 2.
Si le caractère n'est pas présent, on a une erreur.
list(...) Retourne la chaîne sous forme de liste.
chaine = "ROMMY Production"
liste = list(chaine)
print (liste)
On obtient : ['R', 'O', 'M', 'M', 'Y', ' ', 'P', 'r', 'o', 'd', 'u', 'c', 't', 'i', 'o', 'n'].
.split("...") Retourne la chaîne sous forme de liste en fonction du séparateur.
chaine = "Salut ca va ?"
liste = chaine.split(" ")
print (liste)
Comme ici le séparateur est l'espace, on obtient : ['Salut', 'ca', 'va', '?'].
"...".join(...) Retourne une liste sous forme de chaîne en fonction du séparateur.
liste = ['Salut', 'ca', 'va', '?']
chaine = " ".join(liste)
print (chaine)
Comme ici le séparateur est l'espace, on obtient :     Salut ca va ?.

Les tranches

Je l'ai dit plus haut, les chaînes sont des cas particuliers des listes donc ce qu'on peut faire avec les listes, on peut les faire avec les chaînes. C'est pour ça que l'on peut aussi utiliser les tranches. Pour ceux qui n'auraient pas suivit, je récapitule vite fait.

On reconnaît les tranches avec la présence des deux points entre les crochets ( [:] ). L'index (inclus) avant les deux points correspond au début de la tranche. L'index (exclus) d'après correspond à la fin de tranche.
chaine = "Rommy"
print (chaine[1:3])
print (chaine[:3])
print (chaine[1:])
print (chaine[:])
On obtient : om, puis :Rom, puis :ommy, puis :Rommy

Disons que je veuille mettre en majuscule la 1ere lettre du prénom de l'utilisateur.
prenom = input("Entrez votre prénom : ")
prenom_maj = prenom[0].upper() + prenom[1:]
print (prenom_maj)
Je mets en majuscule la 1ère lettre puis j'ajoute la suite grâce à une tranche.

Parcourir une chaîne

Pour parcourir une chaîne, on utilise comme pour les listes soit une boucle "while", soit une boucle "for ... in ...".
chaine = "salut"

# parcours avec while
i = 0
while i < len(chaine) :
    print (chaine[i])
    i += 1

print ("\n\nAvec For :\n")

# parcours avec for ... in
for i in chaine :
    print (i)
On obtient la même chose sauf que i pour la boucle "while" représente l'index, alors qu'avec la boucle "for ... in" il représente chacune des lettres de la chaîne.

Conclusion

Vous pouvez remarquer que j'ai assez souvent dit que les chaînes étaient comme des listes. Donc si vous savez faire des choses avec des listes, vous pourrez le faire avec des chaînes. C'est pour cela que le chapitre des listes et tableaux est très important pour ce chapitre.

Le chapitre qui suit est le dernier, il consistera à enregistrer et lire des données provenant d'un fichier extérieur.
Vous pourrez ainsi enregistrer des records. Et ce n'est qu'un exemple parmi tant d'autre.

chapitre precedent sommaire Les fichiers
repère : ROMMY Prod > Le tutoriel PYTHON 3.0 > Les chaînes de caractères
Qui suis-je ? Contact Charte du site
Plan du site Accessibilité du site

Copyright © ROMMY Production
Le cours, les jeux et les logiciels sont la propriété de son auteur.
Toute reproduction totale ou partielle du cours est interdite sans l'accord de l'auteur.
La modification des jeux et logiciels est interdite sans l'accord de l'auteur.