Tutoriel Python - Data Type-String
- Créer des chaînes en Python
- Éléments d’accès des chaînes de caractères
- Opérations sur les chaînes de caractères en Python
- Fonctions intégrées applicables aux chaînes de caractères
- Formatage des chaînes de caractères en Python
-
La méthode
format()
de la chaîne
Nous allons couvrir le type de données Python String dans cette section.
Une chaîne est une séquence de caractères, représentée par des données binaires dans l’ordinateur. Et en Python, une chaîne est une collection de caractères unicode
.
Créer des chaînes en Python
Une chaîne de caractères peut être créée à l’aide de guillemets simples ou doubles. Une chaîne de caractères à plusieurs lignes peut également être créée en utilisant des guillemets triples.
x = "String of characters"
x = """Multiline
string"""
Éléments d’accès des chaînes de caractères
L’opérateur de découpage en tranches []
est utilisé pour accéder aux caractères des chaînes de caractères. L’index commence à 0 comme les autres types de données Python.
>>> x = 'Python Programming'
>>> print('x[0] =', x[0])
'P'
>>> print('x[4:15] =', x[4:15])
'on Programm'
>>> x[4] = 'l'
TypeError: 'str' object does not support item assignment
TypeError
se produira.Indexation négative
Il est permis d’utiliser des index négatifs pour accéder aux caractères de la chaîne. Par exemple, l’index -1
fait référence au dernier caractère. De même, l’index -2
se réfère à l’avant-dernier caractère.
>>> s = "Python"
>>> print(s[-1])
'n'
>>> print(s[-2])
'o'
>>> print(s[-3])
'h'
Supprimer des caractères d’une chaîne de caractères
Comme les chaînes de caractères sont immuables, les caractères d’une chaîne ne peuvent donc pas être supprimés. Mais vous pouvez attribuer une nouvelle chaîne de caractères au même nom. Ceci est démontré dans le code ci-dessous:
>>> s = 'Python'
>>> s = 'Program'
>>> s
'Program'
La chaîne entière peut être effacée en utilisant le mot-clé del
:
>>> del s
Opérations sur les chaînes de caractères en Python
Il y a un certain nombre d’opérations qui peuvent être effectuées sur les chaînes de caractères ; voici quelques-unes d’entre elles:
Concaténer deux ou plusieurs chaînes de caractères
Deux ou plusieurs chaînes de caractères peuvent être concaténées en utilisant l’opérateur +
.
>>> s1 = 'Python '
>>> s2 = 'Programming'
>>> print(s1 + s2)
'Python Programming'
Si vous écrivez deux chaînes ensemble, il concaténera les chaînes comme le fait l’opérateur +
:
>>> print('Python ' 'Programming')
'Python Programming'
Les parenthèses peuvent aussi être utilisées pour concaténer deux chaînes lorsque les chaînes sont sur plusieurs lignes.
>>> s = ('Python '
'Programming')
>>> s
'Pyhton Programming'
Itérer des chaînes de caractères
Vous pouvez itérer à travers une liste en utilisant la boucle for
:
s = "Python"
for i in s:
print(i)
P
y
t
h
o
n
Vérification de l’appartenance à une chaîne de caractères
Le mot-clé in
est utilisé pour vérifier l’existence d’une sous-chaîne dans une chaîne de caractères.
>>> s = 'Python'
>>> print('a' in s)
False
>>> print('o' in s)
True
Fonctions intégrées applicables aux chaînes de caractères
Les fonctions qui sont appliquées à d’autres types de séquences peuvent également être applicables aux chaînes de caractères. Les fonctions couramment utilisées sont len()
pour trouver le nombre de caractères dans une chaîne, et enumerate()
qui retourne un objet contenant l’index et la valeur des éléments de la chaîne sous forme de paire.
Formatage des chaînes de caractères en Python
Séquence d’échappement
Les séquences d’échappement sont utilisées lorsque vous voulez imprimer les symboles spéciaux (qui ont des significations spéciales en Python) sur le flux de sortie. Par exemple, si vous voulez imprimer:
James asked, "Do you know Andrew's place?"
Ici, vous ne pouvez pas utiliser de guillemets simples ou doubles car le texte contient les deux guillemets. Si vous essayez de mettre cette chaîne entre des guillemets simples ou doubles, vous aurez SyntaxError
.
>>> print("` est `")
SyntaxError: invalid syntax
>>> print('` est `')
SyntaxError: invalid syntax
La solution à ce problème est que vous utilisiez soit des guillemets triples, soit des séquences d’échappement.
En Python, une séquence d’échappement commence par une barre oblique inversée. Un backslash est une instruction à l’interpréteur.
Si vous utilisez des guillemets simples dans l’instruction print, alors tous les guillemets simples du texte doivent être échappés. Et de la même manière, les guillemets doubles du texte doivent être échappés si vous utilisez des guillemets doubles pour représenter une chaîne de caractères.
# using triple quotation marks
print("""` est `""")
# escaping single quotes
print('James asked, "Do you know Andrew\'s place?"')
# escaping double quotes
print('James asked, "Do you know Andrew\'s place?"')
Considérez le tableau suivant dans lequel les séquences d’échappement de Python sont décrites:
Séquence d’échappement | Description |
---|---|
\\ |
échappe au backslash |
\' |
échappe aux guillemets simples |
\" |
échappe aux doubles guillemets |
\a |
une alerte ou une cloche ASCII |
\b |
génère un retour arrière |
\f |
génère Formfeed |
\n |
génère une nouvelle ligne. |
\r |
retour de chariot |
\t |
génère un onglet horizontal |
\v |
génère un onglet vertical |
\ooo |
caractère octal ooo |
\xHH |
caractère hexadécimal HH |
>>> print("C:\\User\\Python36-32\\Lib")
C:\User\Python36-32\Lib
>>> print("First Line\nSecond Line")
First Line
Second Line
Chaîne brute r
pour ignorer la séquence d’échappement
Vous pouvez ignorer la séquence d’échappement dans une chaîne de caractères en en faisant une chaîne brute qui est indiquée par r
ou R
avant la chaîne.
Dans une chaîne brute, les séquences d’échappement sont ignorées. Voir l’exemple suivant:
#without r
>>> print("C:\\User\\Python36-32\\Lib")
C:\User\Python36-32\Lib
#with r
>>> print(r"C:\\User\\Python36-32\\Lib")
C:\\User\\Python36-32\\Lib
Vous pouvez voir ici que la séquence d’échappement est ignorée.
La méthode format()
de la chaîne
La méthode format()
est un outil puissant pour formater les chaînes de caractères. Dans les chaînes formatées, vous avez des placeholders {}
qui sont remplacés par la méthode format()
.
Les arguments de position et de mot-clé sont utilisés pour spécifier l’ordre de remplacement.
#default placeholder
>>> s1 = "{}, {} and {}".format('Bread', 'Butter', 'Chocolate')
>>> print(s1)
'Bread, Butter and Chocolate'
#positional arguments
>>> s2 = "{1}, {2} and {0}".format('Bread', 'Butter', 'Chocolate')
>>> print(s2)
'Butter, Chocolate and Bread'
#keyword arguments
>>> s3 = "{a}, {x} and {c}".format(x = 'Bread', c = 'Butter', a = 'Chocolate')
>>> print(s3)
'Chocolate, Bread and Butter'
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook