Les chaînes de caractères en Python

Une chaîne de caractères est une séquence de caractères et un caractère est un symbole.

Quand vous exécutez du code contenant une chaîne de caractères, chaque symbole est encodé (souvent en ASCII ou en Unicode) et devient compréhensible par votre ordinateur qui lui ne comprend que le langage binaire.

Comment créer une chaîne de caractères ?

Pour créer une chaîne de caractères, on doit entourer les caractères d'apostrophes (aussi appelées guillemets simples) ou de guillemets doubles :

variable_un = 'apostrophes'
variable_deux = "guillemets"

Il n'y a aucune différence entre les deux, c'est une question de style !

Personnellement, je préfère utiliser les guillemets doubles pour la simple raison que ça permet d'insérer des / guillemets simples dans les phrases sans avoir besoin de les échapper avec un antislash.

Par exemple si je veux faire une chaîne de caractères pour indiquer mon âge :

age = "J'ai 26 ans"  # Avec guillemets doubles
age = 'J\'ai 26 ans'  # Avec guillemets simples

Vous pouvez également écrire des chaînes de caractères sur plusieurs lignes en utilisant trois guillemets au lieu d'un seul :

longue_phrase = '''Bonjour,
bienvenue sur Docstring, 
    on espère que vous appréciez 
ce glossaire sur les chaînes
de caractères 🙂
'''

Là encore, vous pouvez utiliser des guillemets simples ou doubles.

Les chaînes de caractères étant des séquences de caractères, on peut accéder à un élément en utilisant les crochets et la position de l'élément dans la chaîne de caractères :

site = 'docstring'

print(site[0])  # d
print(site[4])  # t

Vous pouvez accéder à plusieurs éléments en même temps grâce au slicing qui permet de préciser un intervalle de recherche avec un début, une fin et éventuellement un pas (un par un, deux par deux, trois par trois, etc). On doit séparer chaque valeur de l'intervalle par le symbole deux-points : :

site = 'docstring'

print(site[0:3])  # 'doc'
print(site[3:])   # 'string'
print(site[1::2]) # 'osrn'

La valeur de début de l'intervalle est inclusive alors quelle celle de fin est exclusive !

Modifier une chaîne de caractères

Il n'est pas possible de directement modifier une chaîne de caractères.

En effet, une chaîne de caractères est un objet immuable, ce qui signifie qu'on ne peut pas la modifier :

site = 'docstring'
site[2:] = 'py' # TypeError: 'str' object does not support item assignment