2025.39 changes
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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_)
|
||||
|
||||
----
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
```
|
||||
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
|
||||
@@ -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/)
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user