Gnu/Linux Magazine HS 86

Mémo Python

75 recettes pour accélérer vos développements

Plus de détails

12,90 € TTC

 
SOMMAIRE :

Exploitez Les types de base :

p. 10 Chercher des sous-chaînes à l'aide d'une expression régulière
p. 11 Lire des données au clavier
p. 12 Internationaliser un texte
p. 14 Utiliser un template pour générer du texte
p. 18 Enregistrer et charger des matrices
p. 19 Utiliser des nombres aléatoires
p. 20 Vérifier la validité d'une date
p. 21 Lire un fichier texte ligne à ligne
p. 22 Accéder à un endroit précis d'un fichier
p. 24 Créer un fichier xml
p. 26 Lire un fichier xml
p. 27 Créer un fichier json
p. 28 Lire un fichier json
p. 29 Créer un fichier ini
p. 30 Lire un fichier ini
p. 31 Créer un fichier hdf5
p. 33 Lire un fichier hdf5
p. 34 Créer un fichier odt
p. 36 Lire un fichier odt
p. 38 Parcourir une liste
p. 39 Trier une liste d'entiers lue sous forme de chaîne de caractères
p. 40 Trier avec fct de tri personnalisée
p. 42 Supprimer les doublons d'une liste
p. 43 Trier les valeurs d'un dictionnaire
p. 44 Conserver l'ordre des éléments dans un dictionnaire
p. 46 Créer un dictionnaire qui soit la fusion de deux dictionnaires
p. 47 Créer une liste en utilisant la compréhension de listes
p. 48 Créer un dictionnaire en utilisant la compréhension de dictionnaires

Organisez votre code

p. 52 Créer une fonction ayant un nombre de paramètres infini
p. 53 Créer une fonction anonyme
p. 54 Créer une fonction qui renvoie une fonction
p. 55 Connaître l'état de sortie d'une boucle for
p. 56 Affecter une variable de manière conditionnelle
p. 58 Creer une fonction ayant un comportement différent suivant le type de ses paramètres
p. 59 Créer un décorateur de log
p. 60 Créer un décorateur indiquant les types attendus pour les paramètres d'une fonction
p. 61 Créer un itérateur
p. 62 Créer un itérateur à l'aide d'un générateur
p. 64 Créer un paquetage de modules
p. 66 Créer des constantes
p. 67 Créer un attribut de classe
p. 68 Créer une méthode de classe
p. 69 Créer un singleton
p. 70 Surcharger un opérateur
p. 71 Rendre un objet callable
p. 72 Ajouter un attribut à un objet sans le dégrader
p. 73 Ajouter une méthode à une classe existante
p. 74 Créer un sélecteur de méthode

Interagissez avec vos données et les utilisateurs

p. 78 Créer une base SQLite3
p. 79 Insérer des données dans une base SQLite3
p. 80 Lire les données d'une base SQLite3
p. 81 Appeler une commande shell
p. 78 Récupérer les arguments de la ligne de commande
p. 85 Effectuer un calcul en utilisant plusieurs CPUs
p. 87 Charger une page html
p. 88 Traiter des données JSON
p. 89 Envoyer un email
p. 90 Créer un serveur XMLRPC
p. 92 Créer un serveur CGI
p. 94 Télécharger un fichier
p. 96 Créer une communication entre deux machines
p. 98 Ecrire en couleur dans un terminal
p. 100 Modifier la position du curseur
p. 102 Créer un menu en mode texte
p. 103 Tracer et annoter une courbe
p. 104 Créer une animation d'attente en mode terminal
p. 107 Créer une interface graphique

Utilisez les bons outils

p. 112 Distribuer les fichiers d'un projet dans un seul fichier exécutable
p. 113 Gérer les modules avec pip
p. 114 Travailler avec un environnement virtuel
p. 116 Mettre en place des tests unitaires
p. 118 Débugger un programme
p. 120 Obtenir une trace détaillée des erreurs
p. 122 Afficher des messages de débogage à l'aide d'un logger
p. 124 Mesurer le temps d'exécution d'une commande

Préface :

Comment lire un fichier XML ? Comment créer un itérateur ?

Lorsque l’on ne programme pas en Python tous les jours, les solutions aux problèmes les plus triviaux ne nous sont pas toujours directement accessibles, enfouies dans un recoin de notre cerveau. Des efforts longs et coûteux en temps et en énergie seront alors nécessaires pour tenter de se les remémorer. Et parfois, malgré des efforts intenses, de nombreux tests et des apports énergétiques salutaires (tablette de chocolat, bonbons divers, etc.), la solution ne vient toujours pas. Il faut alors plonger dans les méandres du Web... avec plus ou moins de réussite. N’existerait-il pas une autre alternative ?

Nous vous proposons ce mois-ci un hors-série au format un peu particulier : un « mémo » Python pour vous présenter de manière synthétique un certain nombre de problèmes simples et plus complexes auxquels vous pourriez être confronté au cours de vos développements. Les problèmes sont groupés en grandes familles dans lesquelles vous pourrez trouver :

  • « Les types de base » qui regroupe des problèmes portant sur les chaînes de caractères, les nombres, les listes, les dictionnaires, etc. ; ◦ #« La structuration du code » qui aborde tout ce qui est architecture : fonctions, boucles, programmation orientée objet, etc. ;
  • « Données et interfaces » qui traite de l’accès à une base de données (ici SQLite3, mais la syntaxe est la même pour MySQL, MariaDB ou encore PostgreSQL), de la manière d’interagir avec le Shell et d’effectuer des calculs en multi-threading, de la façon de manipuler des données web et de créer des serveurs ainsi que de la création d’interfaces textuelles ou graphiques ;
  • « Les outils » qui expose l’utilisation des outils de l’environnement Python.

Au sein de cette arborescence, la présentation de chaque problème suit la même organisation : ◦ exposé du problème en partant d’un exemple concret ;

  • solution du problème ;
  • discussion sur la solution présentée.

L’objectif de ce hors-série est donc clairement de devenir un compagnon de développement Python, un kit de secours à utiliser en cas de blocage. Bien entendu, il est impossible de recenser au sein d’un seul hors-série l’ensemble des cas pouvant se présenter et il a fallu faire un choix. Il est donc possible que vous rencontriez un problème qui n’est pas exposé dans ce « mémo »... il le sera alors peut-être dans un futur hors-série. En attendant cela, j’espère déjà que le présent guide vous aidera dans vos développements !

Tristan Colombo  

A propos du magazine
Logo

Le magazine de référence technique pour les développeurs et les administrateurs sur systèmes UNIX, open source & embarqué !

Pionnier dans son domaine, GNU/Linux Magazine est depuis 1998 une véritable référence technique pour pour tous les développeurs et administrateurs sur systèmes Unix, open source et embarqués. Le premier magazine français 100 % Linux se démarque grâce à une ligne rédactionnelle résolument technique et pédagogique. Chaque mois de nombreux thèmes sont abordés permettant de toucher à différents domaines de l’informatique, que ce soit de l’intelligence artificielle, de la sécurité, de l’embarqué, du système/réseau ou du hack.

Nouveaux produits