# Les bases de Python

## UV (NPM de Python)

*Je suis sur Windows, les commandes divergent sur UNIX(like)

Pour installer UV, remplaçant PIP et consorts (évidemment codé en RUST) :

https://docs.astral.sh/uv/#projects

Dans le dossier de travail :

`uv init --python 3.12`

Et dans le dossier initialisé :

```sh
.venv\Scripts\activate
uv run main.py

# On peut aussi activer le .venv en l'initialisation plus avant en intervertissant les commandes, donc :

uv run main.py
.venv\Scripts\activate
```

## Quelques bases oubliées

### Fonctions

Une fonction appelle un résultat.

```py
fonction(variable)
```

Définir une fonction :

```py
def fonction():
    return true
```

On peut forcer le type des variables d'une fonction :

```py
def fonction(a: int, b: int):
    somme = a + b
    return somme
```

Et même une valeur par défaut

```py
def fonction(a: int, b: int = 5):
    somme = a + b
    return somme
```

### Méthodes

Une méthode suit une variable.

```py
variable.methode("Valeur")
```