Septembre / Novembre 2016

Gnu/Linux Magazine HS 86

Mémo Python

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

En savoir plus

12,90 € TTC

Anciens Numéros

LIVRAISON OFFERTE en France Métropolitaine à partir de 50€
GNU/Linux Magazine 272

GNU/Linux Magazine 272

Novembre / Décembre 2024
9,90 €
GNU/Linux Magazine 271

GNU/Linux Magazine 271

Septembre / Octobre 2024
9,90 €
GNU/Linux Magazine 270

GNU/Linux Magazine 270

Juillet / Août 2024
9,90 €
GNU/Linux Magazine 269
9,90 €
GNU/Linux Magazine 268

GNU/Linux Magazine 268

Mars / Avril 2024
9,90 €
GNU/Linux Magazine 267

GNU/Linux Magazine 267

Janvier / Février 2024
9,90 €
GNU/Linux Magazine 266

GNU/Linux Magazine 266

Novembre / Décembre 2023
9,90 €
GNU/Linux Magazine 265

GNU/Linux Magazine 265

Septembre / Octobre 2023
9,90 €
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  

Le magazine de référence technique pour les développeurs sur systèmes open source et les ingénieurs R&D !

GNU/Linux Magazine s'adresse aux professionnels et aux particuliers désireux de mieux maîtriser les techniques et problématiques liées à la programmation et à l’utilisation de solutions open source. Tous les deux mois avec ses articles techniques, la publication couvre les thématiques suivantes : programmation système, algo, bas niveau, sécurité du code, développement web...

Mémo Python - Saison 1 : la préface du guide pour accélérer vos développements
GNU/Linux Magazine n°86

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 ?

Créer une interface graphique
GNU/Linux Magazine n°86

L'objectif : Créer une petite calculatrice graphique acceptant deux flottants et permettant de réaliser l'une des quatre opérations élémentaires.

Créer un serveur CGI
GNU/Linux Magazine n°86
L'objectif : Créer rapidement un petit serveur CGI capable de servir des documents html.
Ce magazine est intégralement disponible sur Linux Magazine Connect
© 2024 - LES EDITIONS DIAMOND