Usages et bibliothèques¶
Le langage Python est accompagné de nombreux modules qui permettent aux développeurs d’avoir, de base, de nombreuses fonctionnalités. Dans ce chapitre nous allons étudier quelques modules présents dans le langage.
Itérateurs VS Générateurs¶
Toute la clé réside dans le stockage mémoire de vos données !
https://docs.python.org/fr/3/tutorial/classes.html#iterators
>>> # Build and return a list
>>> def firstn(n):
>>> num, nums = 0, []
>>> while num < n:
>>> nums.append(num)
>>> num += 1
>>> return nums
>>>
>>> sum_of_first_n = sum(firstn(1000000))
Excercice : faites une approche par itérateur (pattern) de cette fonction. Faites de même avec un générateur.
https://wiki.python.org/moin/Generators#CA-31c8468eb74aeab199a158c358a0dcdea389911d_1
Les itérateurs amenés par Python en standard :
Passage d’arguments par fichier de configuration : ConfigParser¶
L’objectif est ici d’appliquer un parsing sur des fichiers type *.ini pour changer une configuration d’application sans altérer le code python.
Tutoriel et toutes les infos : https://docs.python.org/3.8/library/configparser.html Examples: https://wiki.python.org/moin/ConfigParserExamples
Pré-traitement: les décorateurs¶
L’objectif est ici d’appliquer un pré-traitement au moment de l’appel d’une fonction. Un cas très concret: retourner le résultat d’une fonction dont le calcul a déjà été effectué (« cache »).
Pour bien comprendre, voici un tutoriel: https://openclassrooms.com/courses/apprenez-a-programmer-en-python/les-decorateurs
Exercice : obtenir le temps d’exécution d’une fonction en lui apposant un décorateur (via cProfile)
Passage d’arguments: argparse¶
Faciliter le passage d’arguments pour votre module Python sans l’artisanal « argsysv » ! Tutoriel en ligne : Tutoriel : https://docs.python.org/3.7/howto/argparse.html
Exercice: tests_passage_arguments.py
Module os¶
Le module os fournit un grand nombre de fonctions sur la manipulation du système.
>>> import os
Exercice: tests_remplacer_motif_fichier_texte.py
Module csv¶
Le module csv fournit un grand nombre de fonctions sur la manipulation de fichiers CSV.
>>> import csv
Exercice: tests_csv.py
Module Tkinter¶
Le module Tkinter fournit une bibliothèque complète pour la création d’interface utilisateur par progammation événementielle.
https://pythonbasics.org/tkinter/
>>> from Tkinter import *
La bible Tkinter:
https://insolor.github.io/effbot-tkinterbook-archive/
Exercice : Interface Tk pour coder/décoder des fichiers ascii via le crytpage de César.