diff --git a/documentation/02-language-basics-data.md b/documentation/02-language-basics-data.md index bea3957..e55dcfd 100644 --- a/documentation/02-language-basics-data.md +++ b/documentation/02-language-basics-data.md @@ -154,6 +154,7 @@ a = (1, 2, 3) b = () # ou tuple() c = (1,) # il vous faut au minimum une virgule d = (None, "Salut", 15, 2.718) +e = "Bonjour", 15, 3.14 # les parenthèses sont optionnelles, déconseillé ``` Les méthodes de modification de contenu, telles que `append`{.python} etc. ne sont logiquement pas disponibles avec @@ -174,6 +175,7 @@ b = {2, 4, 5, "hello", (1, 2, 3)} c = set() # obligatoire pour déclarer un set vide, sinon considéré dict print(len(b)) +print(4 in a) a.add(9.5) # ajoute la valeur 9.5 (float) au set a.discard(9.5) # retire la valeur 9.5, ou ne fait rien diff --git a/documentation/02-language-basics.md b/documentation/02-language-basics.md index 9f633b4..eb60e00 100644 --- a/documentation/02-language-basics.md +++ b/documentation/02-language-basics.md @@ -259,7 +259,7 @@ Des opérateurs similaires sont disponibles pour les autres opérations arithmé | `>>=` | Décalage binaire à droite puis assignation | `x >>= 1` | `x = x >> 1` | 2 sur 2 -(_dans la pratique, on n'utilisera que très rarement autre chose que les opérations de base) +(_dans la pratique, on n'utilisera que très rarement autre chose que les opérations de base_) ---- diff --git a/documentation/04-functions.md b/documentation/04-functions.md index 55d9116..8853f3d 100644 --- a/documentation/04-functions.md +++ b/documentation/04-functions.md @@ -21,9 +21,9 @@ Le principe d'une fonction, c'est d'être : ```python {.numberLines} def my_simple_function(): - # Affiche un texte à chaque fois qu'on l'exécute - print("Bonjour, vous m'avez appelé ?") - print("Je suis une fonction très simple.") + # Affiche un texte à chaque fois qu'on l'exécute + print("Bonjour, vous m'avez appelé ?") + print("Je suis une fonction très simple.") my_simple_function() diff --git a/documentation/05-code-structures.md b/documentation/05-code-structures.md index 66a5be2..6df9a85 100644 --- a/documentation/05-code-structures.md +++ b/documentation/05-code-structures.md @@ -66,7 +66,7 @@ D'autres peuvent servir ponctuellement, comme `csv` ou `sqlite3` pour nos exempl ### Importer des fonctionnalités Par défaut, seules les fonctionnalités documentées dans les sections natives (`builtins`) sont directement utilisables, -et pour pouvoir utiliser les autres fonctionnalités, il faut en faire la demande explicite dans votre code via la notion d'`import` : +et pour pouvoir utiliser les autres fonctionnalités, il faut en faire la demande explicite dans votre code via la notion d'`import`{.python} : ```python {.numberLines} import math # importe le module math via une variable @@ -150,8 +150,8 @@ avec le nom `requests`. Vous ne pouvez pas installer plusieurs versions simultan ### Les environnements virtuels pour gérer ses versions de paquets -Un environnement virtuel (`venv`) se présente sous la forme d'un répertoire avec quelques scripts, dont `python`. Lorsqu'un environnement -virtuel est "activé" via l'un de ses scripts, il se passe plusieurs choses : +Un environnement virtuel (`venv`) se présente sous la forme d'un répertoire avec quelques scripts, dont l'exécutable `python`. +Lorsqu'un environnement virtuel est "activé" via l'un de ses scripts, il se passe plusieurs choses : - Les bibliothèques installées avec `pip` sont installées dans cet environnement virtuel - L'exécutable `python` de l'environnement peut importer les bibliothèques installées dans ce dernier diff --git a/documentation/09-sqlite.md b/documentation/09-sqlite.md index c552b91..7a9d781 100644 --- a/documentation/09-sqlite.md +++ b/documentation/09-sqlite.md @@ -29,7 +29,7 @@ Pour travailler sur notre première base de données, nous allons découper l'ex ```python {.numberLines} import sqlite3 -connection = sqlite3.connect("intro.sqlite3", isolation_level=None) +connection = sqlite3.connect("intro.sqlite3", autocommit=True) connection.close() ``` diff --git a/documentation/11-code-documentation.md b/documentation/11-code-documentation.md index ba06d20..958a5ad 100644 --- a/documentation/11-code-documentation.md +++ b/documentation/11-code-documentation.md @@ -70,14 +70,14 @@ récupèrent automatiquement la **documentation de leur classe**. ## Qu'est-ce qu'on met ? -Pour documenter, par exemple, un module, il y a deux façons de faire : +Pour appliquer une documentation à n'importe quel élément, il y a deux façons générales de procéder : -1. Si votre documentation tient en une phrase courte. -2. Si votre documentation va contenir davantage de texte. +1. Votre documentation consiste en un court résumé. +2. Votre documentation rentre dans le détail. ---- -### Documentation super courte +### Phrase de résumé succinte Vous pouvez considérer qu'une seule petite phrase peut servir à décrire votre module : @@ -87,19 +87,19 @@ Vous pouvez considérer qu'une seule petite phrase peut servir à décrire votre ---- -### Documentation plus longue +### Documentation détaillée ```python {.numberLines} """ Traitement des données d'épuration des eaux. Paragraphes de description, d'explication du contenu du module. -Possibilité d'ajouter des sections, des exemples, soyez exhaustifs si vous le souhaitez ! +Possibilité d'ajouter des sections, des exemples, soyez exhaustifs si vous le souhaitez ! """ ``` - Une phrase courte de résumé, sur sa propre ligne. -- Une ligne vide. +- **Une ligne vide**. - Le corps de la documentation. ---- @@ -127,11 +127,13 @@ pdoc [nom du module ou nom du script python] # lance un serveur pour tester ---- -## Bonus : Donner des indications sur le type des variables et arguments +## Extra : Donner des indications sur le type des variables et arguments Depuis Python 3.5 (fin 2015), le langage propose un moyen d'indiquer aux développeurs, le type attendu de variables et d'arguments de fonctions. -**Attention cependant** : les indications en question n'ont aucune incidence sur l'exécution du code, c'est-à-dire que l'interpréteur les ignore. Par contre, les développeurs et les environnements de développement, eux, peuvent se servir de ces indications pour proposer de l'autocomplétion dans certains cas. +**Attention cependant** : les indications en question n'ont aucun effet sur l'exécution du code, c'est-à-dire que l'interpréteur les ignore. +Par contre, les développeurs et les environnements de développement, eux, peuvent se servir de ces indications pour proposer de +l'autocomplétion ou avertir d'un mauvais usage dans certains cas. ---- @@ -160,7 +162,7 @@ variable: Optional[int] = None # on attend `None` ou un entier multi_types: Union[int, float] = 25 # on attend un entier ou float collection: list[str] = [] # ne fonctionne que dans Python 3.9+ shapeshifter: Any = [] # tout et n'importe quoi, explicitement -finite_values: Literal["Monday", "Tuesday"] = "Monday" # Valeurs finies +finite_values: Literal["Monday", "Tuesday"] = "Monday" # Valeurs littérales fixes function_reference: Callable = range # on attend une fonction ``` diff --git a/documentation/12-logging.md b/documentation/12-logging.md index 6147d79..e5de265 100644 --- a/documentation/12-logging.md +++ b/documentation/12-logging.md @@ -273,3 +273,4 @@ fileConfig("logging.conf.ini", disable_existing_loggers=False, encoding="utf-8") ## Bibliothèques simplifiées de journalisation - [Loguru](https://loguru.readthedocs.io/en/stable/overview.html) +- [Structlog](https://www.structlog.org/en/stable/) diff --git a/documentation/99-more-packages.md b/documentation/99-more-packages.md index 4f2af01..61117c8 100644 --- a/documentation/99-more-packages.md +++ b/documentation/99-more-packages.md @@ -132,7 +132,9 @@ pip install ## HTTP +- `httpx` : comme requests, mais avec support natif d'async/await. - `requests` : facilite le HTTP. Capable de désérialiser du JSON depuis une réponse HTTP. +- `niquests` : comme requests, mais avec support natif d'async/await. - `python-dotenv` : permet de charger des informations depuis un fichier d'environnement (.env) - `fastapi` : concevez rapidement une API REST en Python.