Update chapters
Updated chapters 2, 6, 8, 9 and 11.
This commit is contained in:
@ -12,11 +12,11 @@ author: Steve Kossouho
|
||||
En Python, comme dans d'autres langages, vous savez que l'on peut introduire des commentaires dans le code.
|
||||
Il suffit d'utiliser le symbole `(#)` dans une ligne de code, et ce qui suit sera considéré comme commentaire.
|
||||
|
||||
Mais saviez-vous que Python considère le concept de documentation comme étant à part ?
|
||||
Mais saviez-vous que Python considère le concept de documentation comme étant à part ?
|
||||
|
||||
----
|
||||
|
||||
```{.python .numberLines}
|
||||
```python {.numberLines}
|
||||
print(__doc__) # Ne provoque pas d'erreur, mais affiche `None`
|
||||
```
|
||||
|
||||
@ -30,7 +30,7 @@ Cet attribut « magique » laisse entendre que la notion de documentation fait p
|
||||
|
||||
### Documentation dans la bibliothèque standard
|
||||
|
||||
```{.python .numberLines}
|
||||
```python {.numberLines}
|
||||
import sqlite3
|
||||
|
||||
print(sqlite3.__doc__) # documentation du module SQLite3
|
||||
@ -45,7 +45,7 @@ récupérer quelque chose dans son attribut `__doc__`{.python}.
|
||||
|
||||
Pour documenter un module, c'est finalement assez simple :
|
||||
|
||||
```{.python .numberLines}
|
||||
```python {.numberLines}
|
||||
"""Texte de documentation du module."""
|
||||
import os, sys
|
||||
print(os.linesep, sys.getwindowsversion())
|
||||
@ -81,7 +81,7 @@ Pour documenter, par exemple, un module, il y a deux façons de faire :
|
||||
|
||||
Vous pouvez considérer qu'une seule petite phrase peut servir à décrire votre module :
|
||||
|
||||
```{.python .numberLines}
|
||||
```python {.numberLines}
|
||||
"""Traitement des données d'épuration des eaux."""
|
||||
```
|
||||
|
||||
@ -89,7 +89,7 @@ Vous pouvez considérer qu'une seule petite phrase peut servir à décrire votre
|
||||
|
||||
### Documentation plus longue
|
||||
|
||||
```{.python .numberLines}
|
||||
```python {.numberLines}
|
||||
"""
|
||||
Traitement des données d'épuration des eaux.
|
||||
|
||||
@ -117,7 +117,7 @@ Possibilité d'ajouter des sections, des exemples, soyez exhaustifs si vous le s
|
||||
Mieux qu'un long discours, une démo s'impose, avec la bibliothèque `pdoc`.
|
||||
Un outil beaucoup plus long à mettre en place est `sphinx`, qui permet encore davantage.
|
||||
|
||||
```{.bash .numberLines}
|
||||
```bash {.numberLines}
|
||||
pip install pdoc # installer la bibliothèque
|
||||
pdoc [nom du module ou nom du script python] # lance un serveur pour tester
|
||||
```
|
||||
@ -137,7 +137,7 @@ Depuis Python 3.5 (fin 2015), le langage propose un moyen d'indiquer aux dévelo
|
||||
|
||||
Pour annoter une variable et définir quel est son type attendu, on peut :
|
||||
|
||||
```{.python .numberLines}
|
||||
```python {.numberLines}
|
||||
from tartempion import MyClass
|
||||
|
||||
variable1: int = 15 # on indique qu'on attend un entier
|
||||
@ -166,7 +166,7 @@ function_reference: Callable = range # on attend une fonction
|
||||
|
||||
À partir de Python 3.11 (novembre 2022), il est possible de remplacer l'`Union` par un opérateur `|` :
|
||||
|
||||
```{.python .numberLines}
|
||||
```python {.numberLines}
|
||||
variable: int | float = 15 # soit un entier soit un flottant devrait y être associé
|
||||
```
|
||||
|
||||
@ -176,7 +176,7 @@ variable: int | float = 15 # soit un entier soit un flottant devrait y être as
|
||||
|
||||
On peut faire la même chose avec des arguments de fonctions :
|
||||
|
||||
```{.python .numberLines}
|
||||
```python {.numberLines}
|
||||
# value et default devraient être des entiers
|
||||
def do_some_important_things(value: int, default: int = 1):
|
||||
print(value, default)
|
||||
@ -187,7 +187,7 @@ def do_some_important_things(value: int, default: int = 1):
|
||||
|
||||
Et on peut également décrire le type attendu du retour des fonctions et méthodes :
|
||||
|
||||
```{.python .numberLines}
|
||||
```python {.numberLines}
|
||||
def do_trivial_things() -> float: # on indique que la fonction retourne un flottant
|
||||
return 100 / 15
|
||||
```
|
||||
|
Reference in New Issue
Block a user