2025.39 changes
This commit is contained in:
@@ -154,6 +154,7 @@ a = (1, 2, 3)
|
|||||||
b = () # ou tuple()
|
b = () # ou tuple()
|
||||||
c = (1,) # il vous faut au minimum une virgule
|
c = (1,) # il vous faut au minimum une virgule
|
||||||
d = (None, "Salut", 15, 2.718)
|
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
|
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
|
c = set() # obligatoire pour déclarer un set vide, sinon considéré dict
|
||||||
|
|
||||||
print(len(b))
|
print(len(b))
|
||||||
|
print(4 in a)
|
||||||
|
|
||||||
a.add(9.5) # ajoute la valeur 9.5 (float) au set
|
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
|
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` |
|
| `>>=` | Décalage binaire à droite puis assignation | `x >>= 1` | `x = x >> 1` |
|
||||||
2 sur 2
|
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}
|
```python {.numberLines}
|
||||||
def my_simple_function():
|
def my_simple_function():
|
||||||
# Affiche un texte à chaque fois qu'on l'exécute
|
# Affiche un texte à chaque fois qu'on l'exécute
|
||||||
print("Bonjour, vous m'avez appelé ?")
|
print("Bonjour, vous m'avez appelé ?")
|
||||||
print("Je suis une fonction très simple.")
|
print("Je suis une fonction très simple.")
|
||||||
|
|
||||||
|
|
||||||
my_simple_function()
|
my_simple_function()
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ D'autres peuvent servir ponctuellement, comme `csv` ou `sqlite3` pour nos exempl
|
|||||||
### Importer des fonctionnalités
|
### Importer des fonctionnalités
|
||||||
|
|
||||||
Par défaut, seules les fonctionnalités documentées dans les sections natives (`builtins`) sont directement utilisables,
|
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}
|
```python {.numberLines}
|
||||||
import math # importe le module math via une variable
|
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
|
### 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
|
Un environnement virtuel (`venv`) se présente sous la forme d'un répertoire avec quelques scripts, dont l'exécutable `python`.
|
||||||
virtuel est "activé" via l'un de ses scripts, il se passe plusieurs choses :
|
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
|
- 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
|
- 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}
|
```python {.numberLines}
|
||||||
import sqlite3
|
import sqlite3
|
||||||
|
|
||||||
connection = sqlite3.connect("intro.sqlite3", isolation_level=None)
|
connection = sqlite3.connect("intro.sqlite3", autocommit=True)
|
||||||
connection.close()
|
connection.close()
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -70,14 +70,14 @@ récupèrent automatiquement la **documentation de leur classe**.
|
|||||||
|
|
||||||
## Qu'est-ce qu'on met ?
|
## 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.
|
1. Votre documentation consiste en un court résumé.
|
||||||
2. Si votre documentation va contenir davantage de texte.
|
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 :
|
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}
|
```python {.numberLines}
|
||||||
"""
|
"""
|
||||||
Traitement des données d'épuration des eaux.
|
Traitement des données d'épuration des eaux.
|
||||||
|
|
||||||
Paragraphes de description, d'explication du contenu du module.
|
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 phrase courte de résumé, sur sa propre ligne.
|
||||||
- Une ligne vide.
|
- **Une ligne vide**.
|
||||||
- Le corps de la documentation.
|
- 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.
|
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
|
multi_types: Union[int, float] = 25 # on attend un entier ou float
|
||||||
collection: list[str] = [] # ne fonctionne que dans Python 3.9+
|
collection: list[str] = [] # ne fonctionne que dans Python 3.9+
|
||||||
shapeshifter: Any = [] # tout et n'importe quoi, explicitement
|
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
|
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
|
## Bibliothèques simplifiées de journalisation
|
||||||
|
|
||||||
- [Loguru](https://loguru.readthedocs.io/en/stable/overview.html)
|
- [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
|
## 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.
|
- `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)
|
- `python-dotenv` : permet de charger des informations depuis un fichier d'environnement (.env)
|
||||||
- `fastapi` : concevez rapidement une API REST en Python.
|
- `fastapi` : concevez rapidement une API REST en Python.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user