2025.39 changes

This commit is contained in:
2025-09-28 18:02:33 +02:00
parent 81d329278e
commit 3ee8e3e7c2
8 changed files with 25 additions and 18 deletions

View File

@@ -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

View File

@@ -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_)
----

View File

@@ -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()

View File

@@ -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

View File

@@ -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()
```

View File

@@ -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
```

View File

@@ -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/)

View File

@@ -132,7 +132,9 @@ pip install <nom du paquet>
## 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.