Objectifs
- Etre capable d'importer des modules python
Introduction
- La programmation orientée objet convient particulièrement bien au développement d'applications avec interface graphique.
- Il est vivement conseillé de développer ses applications Tkinter en utilisant une classe.
- Cela présente l'avantage d'encapsuler l'application de manière efficace et d'éviter ainsi l'utilisation de variables globales. Souvenez-vous, elles sont à bannir définitivement ! Une classe crée un espace de noms propre à votre application, et toutes les variables nécessaires seront ainsi des attributs de cette classe.
- Un module est un fichier contenant des définitions et des instructions Python. Le nom de fichier est le nom du module avec le suffixe .py ajouté.
- Il existe un grand nombre de modules pré-programmés qui sont fournis d’office avec Python. Vous pouvez en trouver d’autres chez divers fournisseurs.
- Souvent on essaie de regrouper dans un même module des ensembles de fonctions apparentées, que l’on appelle des bibliothèques.
Importation de modules
Première méthode
- Le module math, par exemple, contient les définitions de nombreuses fonctions mathématiques telles que sinus, cosinus, tangente, racine carrée, etc. Pour pouvoir utiliser ces fonctions, il vous suffit d’incorporer la ligne suivante au début de votre script :
from math import *- Cette ligne indique à Python qu’il lui faut inclure dans le programme courant toutes les fonctions (c’est là la signification du symbole "joker"
*) du module math, lequel contient une bibliothèque de fonctions mathématiques pré-programmées. - l'utilisation de la syntaxe
import modulepermet d'importer tout une série de fonctions organisées par "thèmes". Par exemple, les fonctions gérant les nombres aléatoires avec random et les fonctions mathématiques avec math. - Python possède de nombreux autres modules internes (c'est-à-dire présent de base lorsqu'on installe Python).
Deuxième méthode
- Il existe un autre moyen d'importer une ou plusieurs fonctions d'un module :
- À l'aide du mot-clé
from, on peut importer une fonction spécifique d'un module donné. Remarquez bien qu'il est inutile de répéter le nom du module dans ce cas, seul le nom de la fonction en question est requis. - L'instruction
from random import *importe toutes les fonctions du module random. On peut ainsi utiliser toutes ses fonctions directement, comme par exempleshuffle()qui permute une liste aléatoirement.
from random import randint randint(0,10)- nous vous conseillons de charger le module seul de la manière suivante :
import random - puis d'appeler explicitement les fonctions voulues, par exemple :
random.randint(0,2)
Renommer les modules et les attributs lors de leur importation
Première méthode
import math as mimport math as m m.pi 3.141592653589793Deuxième méthode
from math import pi as PIfrom math import pi as PI PI 3.141592653589793
Connaitre les méthodes ou variables associées à un objet
- pour connaître d'un seul coup d’œil toutes les méthodes ou variables associées à un objet, utilisez la fonction
dir(): - Pour la liste complète de modules que vous serez probablement amenés à utiliser si vous programmez en Python, reportez-vous à la page des modules sur le site de Python :
- L'utilisation
dir()sans aucun argument montre ce qu'il y a dans l'espace de noms global. Pour voir le contenu de l'espace math de noms, vous utilisezdir(math).

- pour connaître d'un seul coup d’œil toutes les méthodes ou variables associées à un objet, utilisez la fonction
Définir des fonctions dans un module
- Très souvent, c’est une personne qui définit une fonction et une autre qui l’utilise.
- Par exemple, avec la bibliothèque math, on peut utiliser la fonction pow() pour retourner une valeur x y (x à la puissance y) sans avoir à écrire nous-mêmes cette fonction.
- Nous allons donc voir à présent comment définir des fonctions dans un module et faire en sorte qu’un utilisateur puisse appeler ces fonctions dans son programme.
- Par exemple, nous allons créer un fichier nommé puissance.py qui va définir 2 fonctions : carre() et cube(). Un tel fichier est appelé un module et il va pouvoir être importé dans un autre fichier, et en particulier dans le fichier qui contient le programme principal.
def carre(valeur): resultat = valeur**2 return resultat def cube(valeur): resultat = valeur**3 return resultat- Il est maintenant possible d’utiliser dans un programme principal les fonctions qui ont été définies dans le module puissance.py. Pour cela, il faut importer les fonctions à partir du module.
- Exemples:
- On importe une seule fonction
from puissance import carre a = 5 u = carre(a) print("le carre vaut", u) - On importe explicitement les deux fonctions
a = 5 u = carre(a) print("le carre vaut", u) v = cube(a) print("le cube vaut", v) - On importe toutes les fonctions
from puissance import * a = 5 u = carre(a) print("le carre vaut", u) v = cube(a) print("le cube vaut", v) - On importe le module
import puissance a = 5 u = puissance.carre(a) print("le carre vaut", u) v = puissance.cube(a) print("le cube vaut", v)Dans ce cas, il faut préciser le nom du module devant la fonction.
- On importe le module et on lui donne un alias
import puissance as pu a = 5 u = pu.carre(a) print("le carre vaut", u) v = pu.cube(a) print("le cube vaut", v) - On importe une fonction d'un module et on lui donne un alias
from puissance import carre as ca a = 5 u = ca(a) print("le carre vaut", u)L’importation de toutes les fonctions avec * est fortement déconseillée. En effet, elle ne permet pas d’avoir une vision claire des fonctions qui ont été importées. Ceci est donc une source potentielle d’erreurs.
Source:https://courspython.com Variables globales dans les modules Python
- En Python, nous créons un module unique
config.pypour contenir des variables globales et partager des informations entre les modules Python au sein du même programme. - Voici comment nous pouvons partager des variables globales entre les modules python.
- Partager une variable globale entre les modules Python
- Créer un fichier
config.py, pour stocker des variables globalesa = 0 b = "empty"
- En Python, nous créons un module unique
- Créer un fichier
update.py, pour modifier les variables globalesimport config config.a = 10 config.b = "alphabet" - Créer un fichier
main.py, pour tester les changements de valeurimport config import update print(config.a) print(config.b) - Lorsque nous exécutons le fichier main.py, la sortie sera
- Dans ce qui précède, nous avons créé trois fichiers: config.py, update.py et main.py.
- Le module config.py stocke les variables globales de a et b. Dans le fichier update.py, nous importons le module config.py et modifions les valeurs de a et b.
- De même, dans le fichier main.py, nous importons à la fois le moduleconfig.py et update.py.
10
alphabet