Tutoriel Python - Data Type-String

  1. Créer des chaînes en Python
  2. Éléments d’accès des chaînes de caractères
  3. Opérations sur les chaînes de caractères en Python
  4. Fonctions intégrées applicables aux chaînes de caractères
  5. Formatage des chaînes de caractères en Python
  6. 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.

Info

Les cordes de python sont immuables.

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
Avertissement

L’index doit être un entier sinon 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 renvoie 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'
comments powered by Disqus