1. Données
Pour définir les données de notre bibliothèque, il faut commencer par définir ce qu'est
un livre. On peut bien entendu écrire une petite classe Python Livre avec un
constructeur __init__ qui va stocker les différentes informations d'un livre donné.
Ceci dit, comme on a juste besoin d'un simple conteneur de données, il est plus pratique
d'utiliser la fonction Python namedtuple qui fait cela en une ligne :
from collections import namedtuple
Livre = namedtuple('Livre', ('titre', 'auteur', 'editeur', 'genre',
'annee', 'resume', 'prix'))
Cette construction permet aussi d'accéder aux attributs d'un livre par nom ou par indice.
Notons que nous avons mis en premier les trois attributs à placer dans la liste (titre,
auteur et éditeur) : ce n'est pas indispensable, mais nous verrons que ça simplifie les
choses.
Sur la base de cette définition, notre structure de données sera une liste de livres qu'on
pourra, par exemple, créer de la façon suivante :
livres = [ Livre("Une étude en rouge", "Conan Doyle", "Hachette",
"Policier",
1888, "...", 13.),
Livre("Le Horla", "Guy de Maupassant", "Gallimard",
"Fantastique",
1887, "...", 11.),
Livre("Napoléon", "André Castelot", "Perrin",
"Biographie",
2008, "...", 24.) ]
Nous verrons plus loin comment sauvegarder et récupérer ces données sur un fichier
(ceci n'est pas du tout important à ce stade et nous pourrons le réaliser très simplement
en Python).
112
Pour définir les données de notre bibliothèque, il faut commencer par définir ce qu'est
un livre. On peut bien entendu écrire une petite classe Python Livre avec un
constructeur __init__ qui va stocker les différentes informations d'un livre donné.
Ceci dit, comme on a juste besoin d'un simple conteneur de données, il est plus pratique
d'utiliser la fonction Python namedtuple qui fait cela en une ligne :
from collections import namedtuple
Livre = namedtuple('Livre', ('titre', 'auteur', 'editeur', 'genre',
'annee', 'resume', 'prix'))
Cette construction permet aussi d'accéder aux attributs d'un livre par nom ou par indice.
Notons que nous avons mis en premier les trois attributs à placer dans la liste (titre,
auteur et éditeur) : ce n'est pas indispensable, mais nous verrons que ça simplifie les
choses.
Sur la base de cette définition, notre structure de données sera une liste de livres qu'on
pourra, par exemple, créer de la façon suivante :
livres = [ Livre("Une étude en rouge", "Conan Doyle", "Hachette",
"Policier",
1888, "...", 13.),
Livre("Le Horla", "Guy de Maupassant", "Gallimard",
"Fantastique",
1887, "...", 11.),
Livre("Napoléon", "André Castelot", "Perrin",
"Biographie",
2008, "...", 24.) ]
Nous verrons plus loin comment sauvegarder et récupérer ces données sur un fichier
(ceci n'est pas du tout important à ce stade et nous pourrons le réaliser très simplement
en Python).
112
