Eric Le Codeur
Posted on March 21, 2022
Le cours accéléré Python est gratuit et sera publié ici sur dev.to. Je publierai un nouvel article tous les deux jours environ. Pour ne rien manquer, vous pouvez me suivre sur twitter : Suivez @EricLeCodeur
Manipulation des Strings
Voyons maintenant un peu plus en détail comment créer et manipuler des chaînes de caractères (Strings) avec Python.
Une variable de type String peut être créée avec des guillemets simples ou doubles
name = 'Mike'
# ou
name = "Mike"
Python permet d’insérer des caractères spéciaux dans vos Strings.
message = "Hello \nWorld"
print(message)
# Hello
# World
Le caractère spécial “\n” va être remplacé par un saut de ligne. Python met à votre disposition plusieurs caractères spéciaux. Voici une liste : https://www.w3schools.com/python/gloss_python_escape_characters.asp
Interpolation
L’utilisation du préfixe “f” permet d’afficher le contenu de la variable spécifié entre les crochets {}
name = "Mike"
print(f"Hello {name}")
# Hello Mike
Python peut également exécuter n’importe quelle expression qui se trouve entre les crochets {}, du coup ce concept peut devenir très puissant. Voici en exemple :
name = "Mike"
print(f"Hello {name.upper()}")
# Hello MIKE
Il est également possible de joindre deux Strings avec l'opérateur "+" (plus)
name = "Mike"
print("Hello " + name)
# Hello Mike
Ignorer les caractères spéciaux
L’utilisation du préfixe “r” permet d’afficher le contenu de la String tel quelle. C’est-à-dire sans tenir compte des caractères spéciaux (ex. \n)
message = r"https:\\example.com\index.html"
print(message)
# https:\\example.com\index.html
Ici l’utilisation du préfix “r” permet d’afficher le path correctement. Sinon Python aurait interprété le double backslash "\\" comme un caractère spécial.
String sur plusieurs lignes
Python permet également de créer une String exactement tel que saisie même avec les sauts de lignes. Pour ce faire vous devez utiliser trois guillemets.
message = """This is multiline
String that is easier to
read and assign"""
print(message)
# This is multiline
# String that is easier to
# read and assign
Du coup, la lecture de la String dans le code est très explicite.
Récupération d’une partie de String
Python permet de récupérer seulement une partie de la String.
Une variable String est en effet composé de plusieurs caractères qu’il est possible de lire un à un ou en groupe. Voici quelque exemple
product = "iPhone 12"
# position 012345678
print(product[0])
# i
print(product[2])
# h
print(product[1:6])
# Phone
Chaques caractères est associé à un numéro de position. La première position est toujours 0. Pour accéder à une position en particulier il faut la spécifier entre crochet []
A noter qu’il n’est pas possible de modifier la String de cette façon. Toute tentative de modification va retourner une erreur.
product = "iPhone 12"
product[0] = "e"
# TypeError: 'str' object does not support item assignment
Il est possible d'accéder aux caractères de la String à partir de la fin.
message = "Hello World";
print(message[-1])
# d
La position -1 représente le dernier caractère, -2 l'avant-dernier, et ainsi de suite.
Lors de la récupération de plusieurs caractères, si une des deux positions est omise, la récupération se fera depuis le début de la String
message = "Hello World";
print(message[:5])
# Hello
print(message[-5:])
# World
Manipulation des Strings
Python a plusieurs fonctions qui vous permettent de transformer le contenu de la String. En voici quelques-unes :
Conversion majuscule et minuscule
name = 'Mike Taylor'
print(name.lower())
# mike taylor
print(name.upper())
# MIKE TAYLOR
Supprimer les espaces blancs avant et après une String
message = " Hello World "
print(message.strip())
# "Hello World"
Retourner le nombre de caractères dans la String
name = "Mike Taylor"
nb_char = len(name)
print(nb_char)
# 11
Changer la première lettre d’une String en majuscule
name = "mike"
name_cap = name.capitalize()
print(name_cap)
# Mike
Changer la première lettre de tous les mots d’une String en majuscule
name = 'mike Taylor'
name_title = name.title()
print(name_title)
# Mike Taylor
Vérifier si la String commence ou se termine par un ou des caractères en particulier
name = 'Mike'
print(name.startswith('M'))
# True
print(name.endswith('ke'))
# True
Remplacer une partie de la String par d’autres caractères
name = "Mike"
new_name = name.replace('M', 'P')
print(new_name)
# Pike
Retourner la position d’un caractère en particulier
name = "Mike"
print(name.find('k'))
# 2
À noter que la première position commence toujours à zéro et si le caractère n’est pas trouvé, la fonction retournera -1
Conclusion
C'est tout pour aujourd'hui, je publierai un nouvel article tous les deux jours environ. Pour être sûr de ne rien rater vous pouvez me suivre sur twitter : Suivre @EricLeCodeur
Posted on March 21, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.