ajout de tous les cours et TP préparés cet été
This commit is contained in:
@@ -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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user