PythonMasterClass

Modularité

Les modules extérieur

Il existe plein de modules comprenant des fonctions autour des mathématiquess (math), itinérable (itertools), tableau à n dimantion (numpy) ou bien permettant l'interaction avec l'os (os) ou le systeme (sys).

import itertools import numpy as np from math import cos from math import *

Tout d'abord il existe plusieurs façons d'importer des modules. À la première ligne nous importons tout le module itertools, à la deuxième ligne on import le module numpy en le renommant via le mot-clé as permettant des racoursir l'écriture. À la troisième ligne nous importons que la fonction cos et nous n'auront donc plus à préciser le module lors de l'appel. Pour la dernière ligne elle permet d'importer toutes les fonctions d'un module sans avoir répété le module.

# parcours tous les tulpes possibles composé de 0123456789abcdef d'une longueur de 2 for chars in itertools.product("0123456789abcdef", repeat=2): print("".join(chars)) # crée une matrice de 5x9 array = np.zeros((5, 9)) print(array) # cosinus de 10 print(cos(10))

La puissance des modules est que vous n'avez pas refait ce qui a déjà été partager par des autres. Cela permet de faire des projets rapidement et efficacement et fait une des forces majeures de python.

Vos propres modules

Vos codes commencent à être long il serait donc mieux de pouvoir les mettre dans plusieurs fichiers et biens vous le pouvez et ceux d'une façon très simple.

def bonjour(nom): print(f"Bonjour {nom}")

Voici un code simple que vous aimeriez utilisé dans votre programme principal, vous avez juste à faire comme suit pour l'utiliser.

from salutation import bonjour bonjour("Alice") # out : Bonjour Alice

Pour que tout ce passe comme prévu il faut bien que les deux fichier soit au endroit.

Image de main.py et salutation.py dans un dossier nommé projet
fig.1 : main.py et salutation.py dans un dossier nommé projet

Dans le cas où il salutation serait dans un dossier nommé mesfonction, il faudrait non plus import salutation mais mesfonction.salutation.