Les principaux types
Chaînes de caractères
1. Syntaxe
La chaîne de caractères est absolument indispensable à tout programme informatique : elle permet au programme de communiquer avec ses utilisateurs en leur donnant des informations. Cependant, il s’agit d’un objet assez complexe, puisqu’une chaîne doit pouvoir être très malléable et permettre, par exemple, de contenir certaines parties variables.
Pour écrire un littéral chaîne de caractères, il est possible d’utiliser indifféremment des guillemets droits simples ou doubles :
chaine = 'chaîne'
chaine = "chaîne"
Les deux objets ainsi créés sont exactement identiques.
Il faut aussi savoir qu’en Python, on laisse la possibilité d’écrire des chaînes sur plusieurs lignes, en procédant ainsi :
"""
Ceci est une chaîne sur plusieurs lignes.
Ceci est une nouvelle ligne.
"""
Chose intéressante, si une telle chaîne est non assignée à une variable et déclarée tout en haut du module, elle sera la documentation du module aussi appelée docstring. Idem pour une fonction ou une classe.
Def fonction():
"""
Ceci est la documentation de la fonction
"""
help(fonction)
2. Formatage d’une chaîne
Nous avons déjà vu que la méthode permettant d’afficher dans la sortie standard peut prendre 1 à n paramètres :
print(chaine, nombre, autre_chaine)
Cependant, si l’on souhaite écrire une chaîne complexe, il existe un moyen très simple de construire des chaînes dynamiques, c’est-à-dire une chaîne...
Listes
1. Syntaxe
La liste est l’objet conteneur par excellence. Au contraire de la chaîne de caractères, elle est modifiable et elle est même faite pour être modifiée.
Elle peut contenir tout type d’objet, y compris des objets de types différents.
Commençons par créer une liste de caractères :
liste = list("Python is awesome")
Ce qui équivaut à déclarer la liste ainsi :
liste = ['P', 'y', 't', 'h', 'o', 'n', ' ', 'i', 's', ' ', 'a',
'w', 'e', 's', 'o', 'm', 'e']
Les délimiteurs de la liste sont les crochets et chaque élément est séparé de son voisin par une virgule.
2. Indices
Chaque élément de cette liste dispose d’un indice (comme la chaîne de caractères) et ces indices sont extrêmement importants, ils peuvent êtres utilisés de beaucoup de manières.
Voici pour commencer comment récupérer un élément :
liste[4] # Renvoie o
Mais aussi comment utiliser un indice négatif pour partir de la fin :
liste[-3] # Renvoie o
On peut réaliser ce que l’on appelle une extraction de sous-liste, qui consiste à créer une copie partielle d’une liste, par exemple du début, avec les six premiers éléments :
liste[:6] # Renvoie ['P', 'y', 't', 'h', 'o', 'n']
Les deux-points servent à séparer l’indice de début et celui de fin.
On peut également faire une extraction des septième et huitième caractères :
liste[7:9] # Renvoie ['i', 's']
Là encore, il s’agit...
Dictionnaires
1. Présentation des dictionnaires
Un dictionnaire est un conteneur qui associe une clé à une valeur. Il est un type de données essentiel lorsque l’on souhaite accéder très rapidement à une valeur. Pour l’illustrer, imaginons un carnet d’adresses à l’ancienne : pour chaque nom, on associe un numéro de téléphone.
Carnet = {
"Clément": "0601020304",
"Chloé": "0102030405",
"Matthieu": "0205080502",
}
On a donc trois entrées dans ce dictionnaire. Le plus important à se rappeler est que la seule chose qui compte est l’association entre la clé et la valeur.
Ainsi, si l’on souhaite obtenir le numéro de téléphone de Chloé, on peut procéder ainsi :
carnet["Chloé"]
L’accès à l’élément est extrêmement rapide, beaucoup plus que d’aller chercher un élément dans une liste ordonnée, triée par ordre des prénoms, par exemple.
On peut ajouter un nouveau numéro ainsi :
carnet["Sébastien"] = "0408060204"
Si la clé existait, alors sa valeur est mise à jour ; sinon, un nouvel enregistrement est créé.
Là encore, cette opération est très rapide. Et il en est ainsi parce qu’il n’y a pas d’ordre dans un dictionnaire et on n’a d’ailleurs pas besoin de maintenir un ordre à tout instant.
2. Parcourir un dictionnaire
Voici comment parcourir un dictionnaire :
for nom, telephone in carnet.items():
print(f"Le numéro de {nom} est {telephone}")...