Notre tutoriel précédent sur le Python était
une
introduction au langage : les chaînes de caractères
n'avaient pas précisemment été abordées,
nous allons rectifier cette situation aujourd'hui.
Les différents exemples que nous allons aborder sont simples
d'approche et permettent de réutiliser tout de suite les
caractéristiques de Python qu'ils mettent en avant.
(Si vous ne savez pas comment tester ces exemples, reportez-vous
au tutoriel indiqué ci-dessus)
Démonstration par l'exemple
Une chaîne de caractères peut se stocker de deux manières,
avec des simples ou doubles quotes, nous allons voir comment utiliser
à notre avantage cette caractéristique :
str1 = 'Bonjour'
ou
str1 = "Bonjour"
Dans les deux cas un "print str1" produit bien évidemment
le même affichage.
Question classique maintenant : comment faire si la chaîne
de caractères possède un caractère spécial
? Réponse :
str1 = 'Aujourd\'hui le temps est au beau fixe'
ou plus malin
str1 = "Aujourd'hui le temps est au beau fixe"
Afin d'éviter un disgracieux échappement, lorsque
cela est possible, nous pouvons faire en sorte d'encadrer le chaîne
de caractères par le type de quote non présent dans
la chaîne.
Les échappements sont néanmoins une étape incontournable
si vous souhaitez par exemple sauvegarder dans l'état que
vous avez choisi, la pagination d'une chaîne de caractères
:
Je souhaite que mon texte
soit sauvegardé dans l'état,
tous les espaces sont significatifs,
comment faire ?
Afin de sauvegarder le texte ci-dessus dans l'état, deux
façons de faire. La première :
str = "Je souhaite que mon texte\n\
soit sauvegardé dans l'état,\n\
tous les espaces sont significatifs,\n\
comment faire ?"
print str
... Provoque l'affichage suivant :
Je souhaite que mon texte
soit sauvegardé dans l'état,
tous les espaces sont significatifs,
comment faire ?
Le même résultat est obtenu avec :
str = """Je souhaite que mon
texte
soit sauvegardé dans l'état,
tous les espaces sont significatifs,
comment faire ?"""
print str
D'autres séquences d'échappement existent, vous les
trouverez au milieu de cette
page.
Dans un autre registre la concaténation s'effectue
elle aussi de manière simple :
str1 = "a"+"b"+"c"
print str1
... Affiche "abc". Si vous ne réutilisez pas par
la suite la variable str1, il est possible de s'en passer :
print "a"+"b"+"c"
ou
print "a" "b" "c"
... provoquent le même affichage.
Si maintenant vous souhaitez séparer ces trois caractères
avec un espace :
print "a", "b", "c"
... Affiche "a b c".
La répétition ne pose pas de problème
non plus :
print "abc" * 3
... Affiche : "abcabcabc"
Comme dans d'autres langages, il est possible d'accéder
de manière indexée à certains caractères,
exemples :
str = "Langage : Python"
print str[2]
print str[0:2]
print str[:4]
print str[4:]
... Ce qui provoque l'affichage suivant :
n
La
Lang
age : Python
On considère la chaîne comme un tableau dont le premier
indice est 0.
Avec "print str[0:2]" on provoque l'affichage de deux
caractères en partant de str[0].
":4" ramène les quatre premiers caractères
tandis que "4:" ramène tous les caractères
à partir du cinquième.
print str[-3]
... Affiche le troisième caractère en partant de la
fin de la chaîne, "h".
Outre la classique fonction "len" :
print len(str)
... qui affiche 16 avec l'exemple précédent, il également
possible de déterminer facilement si un caractère
est présent ou non dans la chaîne :
str = "Langage : Python"
print "x" in str
... Affiche "0" si le caractère "x" ne
se trouve pas dans la chaîne étudiée, et "1"
sinon.
Attention, bien qu'il soit possible d'accéder de manière
indexée au contenu d'une chaîne, celle-ci n'en est
pas pour autant modifiable.
D'autres fonctions du même type existent, citons par exemple
:
print str[0].isupper()
print str[1].isupper()
Qui pour l'exemple précédent affiche "1"
puis "0" selon si le caractère étudié
est en majuscule ou pas.
La liste de ces fonctions n'est pas exhaustive, nous vous renvoyons
au
manuel de Python si vous souhaitez en implémenter davantage.
|