Aller au contenu

Les chaînes de caractères

Une chaîne de caractères (de type string : str) est une suite de lettres, de chiffres et/ou de caractères spéciaux. En bref, une chaîne de caractères est une suite de caractères. Pour être reconnue, une chaîne de caractères peut être…

  • délimitée par des apostrophes « '...' » (simple quote) :

    >>> chaine = 'Voici une phrase'
    >>> chaine
    'Voici une phrase'
    

  • délimitée par des guillemets « "..." » (double quote) :

    >>> chaine = "Voici une phrase"
    >>> chaine
    'Voici une phrase'
    
    Le langage Python ne fait pas de différence entre ces deux possibilités puisqu'il affiche ensuite dans l'interpréteur avec simple quote dans les deux cas.

  • délimitée par des triples guillemets qui autorisent le passage à la ligne lors de l'affichage :

    >>> chaine = """Voici une phrase plus longue
    qui montre le saut à la ligne."""
    
    >>> chaine
    'Voici une phrase plus longue
    qui montre le saut à la ligne.'
    
    Le triple guillemet joue un rôle particulier pour les fonctions (docstring).

Caractères spéciaux

Une chaîne peut comporter des caractères spéciaux. Ceux-ci sont précédés un antislash : « \ ».

  • « \n » (signifie « newline ») est le caractère de passage à la ligne.

  • « \' » permet d'afficher un apostrophe (utile quand la chaîne est elle-même délimitée par des apostrophes).

  • « \" » permet d'afficher un guillemet (utile quand la chaîne est elle-même délimitée par des guillemets).

  • « \t » permet d'afficher une tabulation (permet une mise en forme à l'affichage avec la fonction print()).

Exemples

  1. Lorsqu'on déclare, grâce à \n, un passage à la ligne dans une chaîne, celui-ci est conservé dans l'affichage console par défaut.
    Par contre, la fonction print() interprète bien les \n comme des retours à la ligne :

    >>> a =  'Un essai pour passer à la ligne.\nSuis-je sur la ligne suivante ?\nEt maintenant ?\n'
    
    >>> a
    'Un essai pour passer à la ligne.\nSuis-je sur la ligne suivante ?\nEt maintenant ?\n'
    
    >>> print(a)
    Un essai pour passer à la ligne.
    Suis-je sur la ligne suivante ?
    Et maintenant ?
    

  2. Lorsqu'une chaîne est délimitée par des apostrophes et qu'une apostrophe est présente dans la chaîne, comme dans le message « J'aime Python. », alors Python stoppera la chaîne à la seconde apostrophe rencontrée, ce qui provoquera une erreur :

    >>> a = 'J'aime Python.'
      File "<stdin>", line 1
        a = 'J'aime Python.'
                  ^
    SyntaxError: invalid syntax
    
    La barre d'échappement « \ » devant l'apostrophe permet de contourner cette erreur :

    >>> a = 'J\'aime Python.'
    >>> a
    "J'aime Python."
    
    Dans ce cas, on peut noter que la chaîne renvoyée est entourée de guillemets...