ajout de tous les cours et TP préparés cet été

This commit is contained in:
2026-01-17 23:10:49 +01:00
parent ed9415bc81
commit 301cf5a98f
125 changed files with 21614 additions and 542 deletions

View File

@@ -1,4 +1,4 @@
## Modularité
# Modularité
### Le programme
@@ -22,7 +22,7 @@ Il faudra donc prendre de bonnes habitudes :
- grouper les fonctions par fichier
- regrouper les fonctions dans des classes (que nous verrons plus tard)
Interessons nous au code python ci dessous. Ici, la structure compte plus que le code en lui même.
Intéressons-nous au code Python ci-dessous. Ici, la structure compte plus que le code en lui même.
```python
## importations
@@ -35,10 +35,10 @@ VALEUR = 25
## fonctions
def racine(val):
"""
Renvoie la racine carré d'un nombre.
Renvoie la racine carrée d'un nombre.
:param val: (int) un entier
:return: (float) la racine carré
:return: (float) la racine carrée
:CU: type(val) == int && val >= 0
example:
@@ -81,7 +81,7 @@ from math import *
import doctest
```
Au début du programme, nous avons une partie *import* où l'on ajoute toute les lignes d'importations. Ces dernières permettent de préciser à python que l'on ajoute à notre programme des élément du module **math** ainsi que du module **doctest**.
Au début du programme, nous avons une partie *import* où l'on ajoute toutes les lignes d'importations. Ces dernières permettent de préciser à Python que l'on ajoute à notre programme des éléments du module **math** ainsi que du module **doctest**.
Chacun de ces modules a ses propres variables, fonctions et autre éléments. Le module math va donc réaliser des opérations mathématiques comme calculer la racine carrée avec la fonction **sqrt** et le module doctest va s'occuper de réaliser des tests unitaires.
@@ -106,7 +106,7 @@ Un dernier point très important, c'est la documentation avec ses jeux de tests.
Lorsque l'on utilise un module connu comme **math**, **random** ou encore **tkinter**, il est possible de trouver sa documentation en ligne afin de trouver les informations nous permettant de s'en servir correctement.
Il existe aussi une documentation que l'on peut récupérer via les modules grace à la fonction *help* :
Il existe aussi une documentation que l'on peut récupérer via les modules grâce à la fonction *help* :
```python
import random
@@ -114,7 +114,7 @@ import random
help(random)
```
La documentation dans le module ne sert pas de décoration mais permet à celui ou celle (voir vous même ! ) comprendre les spécifications.
La documentation dans le module ne sert pas de décoration mais permet à celui ou celle qui l'utilise (voire vous-même !) de comprendre les spécifications.
Voyons un exemple de **docstring** d'une fonction :
@@ -179,7 +179,7 @@ if __name__=="__main__":
doctest.testmod(verbose=True)
```
Lors de l'exécution du programme principal, la fonction *testmod* du module **doctest** va parcourir toute les documentations à la recherche de ligne commencant par ```>>>```.
Lors de l'exécution du programme principal, la fonction *testmod* du module **doctest** va parcourir toutes les documentations à la recherche de lignes commençant par ```>>>```.
Une fois les lignes trouvées, testmod va exécuter la ligne en question puis va comparer son résultat avec ce qui a été mis en dessous.