Python – Chaînes de caractères

Eric Obermeyer – Actualisation: septembre 2014

 

I) Définition et notations. 1

1) Définition. 1

2) Caractéristiques essentielles. 1

3) Notations. 1

4) Cas particuliers. 2

5) Longues chaînes de caractères. 2

II) Fonctions et méthodes. 2

1) Une chaîne de caractères est un objet itérable. 2

2) Méthodes propres aux chaînes de caractères. 2

3) Autres outils utiles. 2

 

I) Définition et notations

1) Définition

Une chaîne de caractères est une suite finie de caractères.

2) Caractéristiques essentielles

Une chaîne de caractère a pour type str en Python. C'est un type de donnée itérable (comme une liste) mais non modifiable (au contraire d'une liste)

3) Notations

Une chaîne de caractères peut être notée:

·       entre apostrophes 

·       entre guillemets "

·       entre triples guillemets """

 

def notation_1():

    """ Notation de base"""

    a = "Bonjour"                   # avec des guillemets

    b = 'le'                        # avec une apostrophe

    c = """monde !"""               # avec des triples guillemets

    print(a, b, c)

 

#Renvoie

Bonjour le monde !

 

Les chaînes délimitées par des triples apostrophes ou triples guillemets sont appelées docstring. Certaines fonctions (en particulier la fonction help()) utilisent ces docstrings pour extraire la documentation des fonctions, classes, modules, etc..).

Par exemple:

 

 

 

help(notation_1)

#Renvoie

Help on function notation_1 in module __main__:

notation_1()

    Notation de base

4) Cas particuliers

a = "C'est"                     # apostrophe entre guillemets

b = 'un "cas" !'                # guillemets entre apostrophes

c = """ C'est un "cas" ! """    # contenant apostrophes et guillemets

# Avec le caractère d'échappement \

a = 'C\'est'                    # apostrophes entre apostrophes

b = "un \"cas\" !"              # guillemets entre guillemets

5) Longues chaînes de caractères

def longues_chaines():

    """ Sur plusieurs lignes"""

    a = "Ecrit sur plusieurs lignes \

et affiché sur une ligne. On échappe \

Les sauts de ligne"

    b = """Ecrit sur plusieurs lignes

et affiché sur plusieurs lignes. Les sauts

de ligne sont intégrés"""

II) Fonctions et méthodes

1) Une chaîne de caractères est un objet itérable

Une chaîne de caractère (comme une liste) est un objet itérable (mais non modifiable): on peut la parcourir, accéder à ses éléments, elle a une longueur, on peut en extraire une sous chaîne avec les mêmes techniques que pour extraire une sous liste d'une liste, etc… Mais on ne peut pas en modifier un item.

def chaine_iterable():

    s = "abcdefghijk"

    print(len(s), s[3:6], s[2::2], s[:-1], max(s) )

#renvoie

11 def cegik abcdefghij k

 2) Méthodes propres aux chaînes de caractères

Elles sont nombreuses et puissantes. La première  méthode (par ordre alphabétique) est la méthode capitalize(). Allez faire un tour dans l'aide de cette méthode et lisez la suite, les dizaines d'autres méthodes disponibles.

On trouve entre autres des méthodes de:

·       transformation de la casse: upper(), lower(), capitalize(), title()

·       recherche ou (et) remplacement: count(), find(), index(), replace()

·       découpage ou concaténation: split(), join()

·       test du contenu: isalpha(), isdigit(), …

3) Autres outils utiles

list(chaine) est la liste des caractères de chaine

chaineA + chaineB concatène les deux chaînes

chaîne * n concatène n fois chaîne

chr(n) est la caractère dont le point de code Unicode est n

ord(c) est le point de code Unicode du caractère c