add init of rest api python course
This commit is contained in:
parent
616014c1b5
commit
c6885a9cc0
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
geany/
|
||||||
5
docs/cours/index.md
Normal file
5
docs/cours/index.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# Introduction
|
||||||
|
|
||||||
|
Les cours du Garage concernent:
|
||||||
|
|
||||||
|
- [La présentation de l'association](presentation-garage)
|
||||||
3
docs/cours/presentation-garage/index.md
Normal file
3
docs/cours/presentation-garage/index.md
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# Présentation du Garage Numérique
|
||||||
|
|
||||||
|
Ces documents présentent le fonctionnement de l'association.
|
||||||
@ -1,203 +0,0 @@
|
|||||||
# Configurer l'espace de travail
|
|
||||||
|
|
||||||
## Installer python
|
|
||||||
|
|
||||||
Python est peut-être déjà installé sur votre système, mais il faut vérifier la version:
|
|
||||||
|
|
||||||
```
|
|
||||||
user@host:~$ python --version
|
|
||||||
Python 3.7.3
|
|
||||||
```
|
|
||||||
|
|
||||||
et la liste des versions disponibles:
|
|
||||||
|
|
||||||
```
|
|
||||||
user@host:~$ update-alternatives --list python
|
|
||||||
/usr/bin/python2
|
|
||||||
/usr/bin/python3
|
|
||||||
```
|
|
||||||
|
|
||||||
Pour installer la version qui vous manque:
|
|
||||||
```
|
|
||||||
sudo apt install python2
|
|
||||||
# OU
|
|
||||||
sudo apt install python3
|
|
||||||
```
|
|
||||||
|
|
||||||
Nous avons besoin du numéro de version pour python2 et python3:
|
|
||||||
```
|
|
||||||
user@host:~$ ls -l /usr/bin/python{2,3}
|
|
||||||
lrwxrwxrwx 1 root root 9 mars 4 2019 /usr/bin/python2 -> python2.7
|
|
||||||
lrwxrwxrwx 1 root root 9 mars 26 2019 /usr/bin/python3 -> python3.7
|
|
||||||
```
|
|
||||||
|
|
||||||
Nous allons donner la priorité 1 à python2 et la priorité 2 à python3:
|
|
||||||
|
|
||||||
```
|
|
||||||
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 2
|
|
||||||
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Installer pip
|
|
||||||
|
|
||||||
pip (Package installer for python or "Pip Installs Packages") est un outil très utile pour gérer les dépendances dans un projet python.
|
|
||||||
|
|
||||||
Là aussi, il y a pip pou python2 et pip pour python3, mais Debian utilisera la version correpondante à la version de python définie avec `update-alternatives`.
|
|
||||||
|
|
||||||
```
|
|
||||||
user@host:~$ sudo apt install python3-pip python-pip
|
|
||||||
user@host:~$ pip --version
|
|
||||||
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Utiliser la console python
|
|
||||||
|
|
||||||
Pour découvrir python, rien de plus simple, on saisit la commande `python` dans le terminal:
|
|
||||||
|
|
||||||
```
|
|
||||||
user@host:~$ python
|
|
||||||
Python 3.7.3 (default, Dec 20 2019, 18:57:59)
|
|
||||||
[GCC 8.3.0] on linux
|
|
||||||
Type "help", "copyright", "credits" or "license" for more information.
|
|
||||||
>>>
|
|
||||||
```
|
|
||||||
Les trois chevrons `>>>` vous indiquent que vous êtes dans la console python.
|
|
||||||
Faites ++ctrl+d++ pour en sortir.
|
|
||||||
|
|
||||||
Vous pouvez déclarer une variable, la transformer et l'afficher:
|
|
||||||
|
|
||||||
```
|
|
||||||
>>> MA_VARIABLE = " ceci est le contenu de ma variable "
|
|
||||||
>>>
|
|
||||||
>>> print(MA_VARIABLE)
|
|
||||||
ceci est le contenu de ma variable
|
|
||||||
>>>
|
|
||||||
>>> VAR_2 = MA_VARIABLE + " et celle-ci est plus longue"
|
|
||||||
>>>
|
|
||||||
>>> print(VAR_2)
|
|
||||||
ceci est le contenu de ma variable et celle-ci est plus longue
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
## Commencer un projet
|
|
||||||
|
|
||||||
On démarre un projet simplement en créant un dossier, dans lequel (par convention), on crée le fichier `main.py`
|
|
||||||
```
|
|
||||||
user@host:~$ mkdir mon_projet && cd mon_projet && touch main.py
|
|
||||||
```
|
|
||||||
|
|
||||||
Ce fichier main.py contiendra les instructions principales du programme, et pourra appeler d'autres fichiers python.
|
|
||||||
|
|
||||||
On met un **shebang** en 1ère ligne pour indiquer la version de python:
|
|
||||||
```
|
|
||||||
#!/usr/bin/env python3
|
|
||||||
|
|
||||||
VAR_1 = " ce serpent "
|
|
||||||
print(VAR_2)
|
|
||||||
VAR_2 = VAR_1 + " est dangereux"
|
|
||||||
print(VAR_2)
|
|
||||||
```
|
|
||||||
|
|
||||||
On peut simplement exécuter ce script avec `python poi.py` ou l'exécuter en mode **interactif** (-i) pour continuer à manipuler les variables et les fonctions du programme:
|
|
||||||
|
|
||||||
```
|
|
||||||
user@host:~$ python -i poi.py
|
|
||||||
ce serpent
|
|
||||||
ce serpent est dangereux
|
|
||||||
>>>
|
|
||||||
>>> type(VAR_2)
|
|
||||||
<class 'str'>
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Les types de variables dans python
|
|
||||||
|
|
||||||
### Les chaînes de caractères
|
|
||||||
|
|
||||||
Les variables que nous avons utilisées sont du type `str` ou `string`, c'est à-dire une **chaîne de caractères**.
|
|
||||||
On les déclare entre guillemets:
|
|
||||||
|
|
||||||
```
|
|
||||||
>>> VAR_A = " some random string, with 6 words"
|
|
||||||
>>> type(VAR_A)
|
|
||||||
<class 'str'>
|
|
||||||
```
|
|
||||||
|
|
||||||
### Autres variables simples
|
|
||||||
|
|
||||||
Il y a d'autre variables simples:
|
|
||||||
|
|
||||||
```
|
|
||||||
>>> VAR_B=True
|
|
||||||
>>> type(VAR_B)
|
|
||||||
<class 'bool'> # VAR_B est un `boolean`, une valeur booléenne, \
|
|
||||||
# qui ne peut être que `True` ou `False`
|
|
||||||
|
|
||||||
>>> VAR_C = 10
|
|
||||||
>>> type(VAR_C)
|
|
||||||
<class 'int'> # VAR_C est un `integer`, un nombre entier
|
|
||||||
>>>
|
|
||||||
>>>
|
|
||||||
>>> VAR_D=3.141592
|
|
||||||
>>> type(VAR_E)
|
|
||||||
<class 'float'> # VAR_E est un `float`, un nombre décimal
|
|
||||||
```
|
|
||||||
|
|
||||||
### Les listes et les tuples
|
|
||||||
|
|
||||||
Il y a des variables qui permettent de stocker plusieurs valeurs: les **listes** ( `list`), les **tuples**, et les **dictionnaires** (`dictionary`).
|
|
||||||
|
|
||||||
Les listes sont déclarées entre crochets ( `brackets [ ] `) et contiennent plusieurs éléments (int, str, list...) séparés par une virgule.
|
|
||||||
|
|
||||||
```
|
|
||||||
>>> VAR_F = ["object",150,"proc","package",2000]
|
|
||||||
>>> type(VAR_F)
|
|
||||||
<class 'list'>
|
|
||||||
```
|
|
||||||
|
|
||||||
On peut modifier les éléments de la liste en les indexant entre crochets:
|
|
||||||
|
|
||||||
```
|
|
||||||
>>> print(VAR_F[0:2])
|
|
||||||
['object', 150]
|
|
||||||
>>>
|
|
||||||
>>> VAR_F[1] = 250
|
|
||||||
>>> print(VAR_F[0:2])
|
|
||||||
['object', 250]
|
|
||||||
```
|
|
||||||
|
|
||||||
Les **tuples** sont des listes qu'on ne peut pas modifier. On les appelle entre parenthèses:
|
|
||||||
```
|
|
||||||
>>> VAR_F = ( "elem1", "elem2", "elem3")
|
|
||||||
>>>
|
|
||||||
>>> print(type(VAR_F))
|
|
||||||
<class 'tuple'>
|
|
||||||
```
|
|
||||||
|
|
||||||
### Les dictionnaires
|
|
||||||
|
|
||||||
Les dictionnaires sont des séries de paires clé-valeur, déclarées entre accolades ( `curly brackets { } `)
|
|
||||||
|
|
||||||
```
|
|
||||||
>>> VAR_G = { "name": "python", "version_number": 3.8, "use": "coding"}
|
|
||||||
>>> type(VAR_G)
|
|
||||||
<class 'dict'>
|
|
||||||
```
|
|
||||||
|
|
||||||
Comme pour les listes, on peut accéder aux valeurs et les modifier en indexant avec les crochets:
|
|
||||||
```
|
|
||||||
>>> VAR_G["use"] = VAR_G["use"] + " and playing"
|
|
||||||
>>>
|
|
||||||
>>> print(VAR_G)
|
|
||||||
{'name': 'python', 'version': '3.8', 'version_number': 3.8, 'use': 'coding and playing'}
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
142
docs/cours/python/1stproject.md
Normal file
142
docs/cours/python/1stproject.md
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
# Démarrer un projet
|
||||||
|
|
||||||
|
## Création du projet
|
||||||
|
|
||||||
|
??? important "Note importante pour les étudiants"
|
||||||
|
Ne créez pas un nouveau dossier,
|
||||||
|
1. clonez plutôt le projet d'évaluation
|
||||||
|
2. basculez sur la branche start
|
||||||
|
3. Créez une nouvelle branche nommée `start-votre-id-gitlab`
|
||||||
|
```
|
||||||
|
git clone https://gitlab.com/devopsp1/python-webscrap.git`
|
||||||
|
cd python-webscrap
|
||||||
|
git checkout start
|
||||||
|
git checkout -b start-mon-id-gitlab
|
||||||
|
```
|
||||||
|
|
||||||
|
On démarre un projet simplement en créant un dossier, dans lequel (par convention), on crée le fichier `main.py`
|
||||||
|
|
||||||
|
```
|
||||||
|
user@host:~$ mkdir mon_projet && cd mon_projet && touch main.py
|
||||||
|
```
|
||||||
|
|
||||||
|
Ce fichier main.py contiendra les instructions principales du programme, et pourra appeler d'autres fichiers python.
|
||||||
|
|
||||||
|
On met un **shebang** en 1ère ligne pour indiquer la version de python.
|
||||||
|
|
||||||
|
Dans ce script on déclare deux variables, qu'on nomme `base_url`et `endpoint1`, auxquelles on donne une valeur.
|
||||||
|
|
||||||
|
```
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
base_url = "https://gitlab.com/api/v4"
|
||||||
|
print(base_url)
|
||||||
|
endpoint1 = base_url + "/groups"
|
||||||
|
print(endpoint1)
|
||||||
|
```
|
||||||
|
|
||||||
|
On peut simplement exécuter ce script avec `python poi.py` ou l'exécuter en mode **interactif** (-i) pour continuer à manipuler les variables et les fonctions du programme:
|
||||||
|
|
||||||
|
```
|
||||||
|
user@host:~$ python -i main.py
|
||||||
|
https://gitlab.com/api/v4
|
||||||
|
https://gitlab.com/api/v4/groups
|
||||||
|
>>>
|
||||||
|
>>> type(endpoint1)
|
||||||
|
<class 'str'>
|
||||||
|
|
||||||
|
```
|
||||||
|
La fonction `type` nous affiche le type de variable utilisé: il s'agit d'une chaîne de caractères (`str`)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Les types de variables dans python
|
||||||
|
|
||||||
|
### Les chaînes de caractères
|
||||||
|
|
||||||
|
Les variables que nous avons utilisées sont du type `str` ou `string`, c'est à-dire une **chaîne de caractères**.
|
||||||
|
On les déclare entre guillemets:
|
||||||
|
|
||||||
|
```
|
||||||
|
>>> VAR_A = " some random string, with 6 words"
|
||||||
|
>>> type(VAR_A)
|
||||||
|
<class 'str'>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Autres variables simples
|
||||||
|
|
||||||
|
Il y a d'autre variables simples:
|
||||||
|
|
||||||
|
```
|
||||||
|
>>> VAR_B=True
|
||||||
|
>>> type(VAR_B)
|
||||||
|
<class 'bool'> # VAR_B est un `boolean`, une valeur booléenne, \
|
||||||
|
# qui ne peut être que `True` ou `False`
|
||||||
|
|
||||||
|
>>> VAR_C = 10
|
||||||
|
>>> type(VAR_C)
|
||||||
|
<class 'int'> # VAR_C est un `integer`, un nombre entier
|
||||||
|
>>>
|
||||||
|
>>>
|
||||||
|
>>> VAR_D=3.141592
|
||||||
|
>>> type(VAR_E)
|
||||||
|
<class 'float'> # VAR_E est un `float`, un nombre décimal
|
||||||
|
```
|
||||||
|
|
||||||
|
### Les listes et les tuples
|
||||||
|
|
||||||
|
Il y a des variables qui permettent de stocker plusieurs valeurs: les **listes** ( `list`), les **tuples**, et les **dictionnaires** (`dictionary`).
|
||||||
|
|
||||||
|
Les listes sont déclarées entre crochets ( `brackets [ ] `) et contiennent plusieurs éléments (int, str, list...) séparés par une virgule.
|
||||||
|
|
||||||
|
```
|
||||||
|
>>> VAR_F = ["object", 150, "proc", "package", 2000]
|
||||||
|
>>> type(VAR_F)
|
||||||
|
<class 'list'>
|
||||||
|
```
|
||||||
|
|
||||||
|
On peut modifier les éléments de la liste en les indexant entre crochets:
|
||||||
|
|
||||||
|
```
|
||||||
|
>>> print(VAR_F[0:2])
|
||||||
|
['object', 150]
|
||||||
|
>>>
|
||||||
|
>>> VAR_F[1] = 250
|
||||||
|
>>> print(VAR_F[0:2])
|
||||||
|
['object', 250]
|
||||||
|
```
|
||||||
|
|
||||||
|
Les **tuples** sont des listes qu'on ne peut pas modifier. On les appelle entre parenthèses:
|
||||||
|
```
|
||||||
|
>>> VAR_F = ( "elem1", "elem2", "elem3")
|
||||||
|
>>>
|
||||||
|
>>> print(type(VAR_F))
|
||||||
|
<class 'tuple'>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Les dictionnaires
|
||||||
|
|
||||||
|
Les dictionnaires sont des séries de paires clé-valeur, déclarées entre accolades ( `curly brackets { } `)
|
||||||
|
|
||||||
|
```
|
||||||
|
>>> VAR_G = { "name": "python", "version_number": 3.8, "use": "coding"}
|
||||||
|
>>> type(VAR_G)
|
||||||
|
<class 'dict'>
|
||||||
|
```
|
||||||
|
|
||||||
|
Comme pour les listes, on peut accéder aux valeurs et les modifier en indexant avec les crochets:
|
||||||
|
```
|
||||||
|
>>> VAR_G["use"] = VAR_G["use"] + " and playing"
|
||||||
|
>>>
|
||||||
|
>>> print(VAR_G["use"])
|
||||||
|
coding and playing
|
||||||
|
```
|
||||||
|
|
||||||
|
??? important "Note importante pour les étudiants"
|
||||||
|
Pour l'évaluation, vous devez demander une merge request depuis votre branche vers la branche start.
|
||||||
|

|
||||||
|
|
||||||
BIN
docs/cours/python/img/creating-merge-request.png
Normal file
BIN
docs/cours/python/img/creating-merge-request.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 98 KiB |
96
docs/cours/python/rest.md
Normal file
96
docs/cours/python/rest.md
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
# Utiliser une API REST
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
|
||||||
|
Pour découvrir Python, nous allons d'abord apprendre à manipuler des données.
|
||||||
|
|
||||||
|
Pour cela nous nous appuierons sur un jeu de données accessible via une API REST.
|
||||||
|
|
||||||
|
Une APi (Application Programming Interface) est un programme qui permet à deux programmes de communiquer ensemble.
|
||||||
|
|
||||||
|
Ici nous voulons accéder aux données proposées par un site web.
|
||||||
|
|
||||||
|
L'API utilisée, appellée REST API communique avec le site web par des requêtes http.
|
||||||
|
|
||||||
|
Nous allons utiliser l'APi de Gitlab qui contient énormément d'informations sur les projets hébergés.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Générer un jeton d'authentification
|
||||||
|
|
||||||
|
Pour accéder aux données présentées par l'API (par exemple, la liste des 'issues' qui me sont attribuées),
|
||||||
|
Gitlab a besoin de m'identifier.
|
||||||
|
|
||||||
|
Pour cela, à partir de notre interface web utilisateur de Gitlab, nous allons générer un **jeton d'authentification**.
|
||||||
|
|
||||||
|
Vous pouvez utiliser ce [tutoriel pour générer votre jeton d'API](https://screenful.com/gitlab/gitlab-apikey){target=_blank}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Import des librairies utiles
|
||||||
|
|
||||||
|
En plus des fonctions intégrées à python (comme la fonction `print()` que nous avons utilisée),
|
||||||
|
nous allons importer des fonctions provenant d'autres librairies.
|
||||||
|
|
||||||
|
Il nous faut donc:
|
||||||
|
1. installer les librairies sur notre système
|
||||||
|
2. importer les fonctions utiles dans notre projet
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Installer les librairies
|
||||||
|
|
||||||
|
Pour installer des librairies python supplémentaires, nous allons utiliser `pip`
|
||||||
|
|
||||||
|
On peut utiliser pip pour installer directement une librairie:
|
||||||
|
```
|
||||||
|
pip install pytest
|
||||||
|
```
|
||||||
|
**[Pytest](https://docs.pytest.org/en/stable/){target=_blank}** est une librairie pour réaliser des tests sur le code.
|
||||||
|
|
||||||
|
|
||||||
|
Pour notre projet, il y a deux librairies dont nous aurons absolument besoin: `requests` et `json`
|
||||||
|
- **requests** permet d'envoyer et de recevoir des requêtes html. C'est un peu l'équivalent de `curl`en bash.
|
||||||
|
- **json** permet de traiter des données au format **[json](https://www.json.org/json-fr.html){target=_blank}**
|
||||||
|
|
||||||
|
Comme ces deux librairies sont nécessaires au fonctionnement du projet, nous allons créer un fichier requirements.txt à la racine de notre projet.
|
||||||
|
|
||||||
|
!!! note "requirements.txt"
|
||||||
|
requests
|
||||||
|
json
|
||||||
|
|
||||||
|
Pour les installer, un simple:
|
||||||
|
```
|
||||||
|
pip install -r requirements.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Importation dans le projet
|
||||||
|
|
||||||
|
Dans notre fichier `main.py` nous devons maintenant importer les libraires
|
||||||
|
|
||||||
|
!!! note "main.py"
|
||||||
|
```
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import requests
|
||||||
|
import json
|
||||||
|
|
||||||
|
base_url = "https://gitlab.com/api/v4"
|
||||||
|
endpoint1 = base_url + "/groups"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Accès à l'API
|
||||||
|
|
||||||
|
Nous allons ajouter à notre code une fonction, issue de la bibliothèque requests, pour accéder aux données via l'API REST.
|
||||||
|
|
||||||
85
docs/cours/python/workspace.md
Normal file
85
docs/cours/python/workspace.md
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
# Configurer l'espace de travail
|
||||||
|
|
||||||
|
## Installer python
|
||||||
|
|
||||||
|
Python est peut-être déjà installé sur votre système, mais il faut vérifier la version:
|
||||||
|
|
||||||
|
```
|
||||||
|
user@host:~$ python --version
|
||||||
|
Python 3.7.3
|
||||||
|
```
|
||||||
|
|
||||||
|
et la liste des versions disponibles:
|
||||||
|
|
||||||
|
```
|
||||||
|
user@host:~$ update-alternatives --list python
|
||||||
|
/usr/bin/python2
|
||||||
|
/usr/bin/python3
|
||||||
|
```
|
||||||
|
|
||||||
|
Pour installer la version qui vous manque:
|
||||||
|
```
|
||||||
|
sudo apt install python2
|
||||||
|
# OU
|
||||||
|
sudo apt install python3
|
||||||
|
```
|
||||||
|
|
||||||
|
Nous avons besoin du numéro de version pour python2 et python3:
|
||||||
|
```
|
||||||
|
user@host:~$ ls -l /usr/bin/python{2,3}
|
||||||
|
lrwxrwxrwx 1 root root 9 mars 4 2019 /usr/bin/python2 -> python2.7
|
||||||
|
lrwxrwxrwx 1 root root 9 mars 26 2019 /usr/bin/python3 -> python3.7
|
||||||
|
```
|
||||||
|
|
||||||
|
Nous allons donner la priorité 1 à python2 et la priorité 2 à python3:
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 2
|
||||||
|
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Installer pip
|
||||||
|
|
||||||
|
pip (Package installer for python or "Pip Installs Packages") est un outil très utile pour gérer les dépendances dans un projet python.
|
||||||
|
|
||||||
|
Là aussi, il y a pip pou python2 et pip pour python3, mais Debian utilisera la version correpondante à la version de python définie avec `update-alternatives`.
|
||||||
|
|
||||||
|
```
|
||||||
|
user@host:~$ sudo apt install python3-pip python-pip
|
||||||
|
user@host:~$ pip --version
|
||||||
|
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Utiliser la console python
|
||||||
|
|
||||||
|
Pour découvrir python, rien de plus simple, on saisit la commande `python` dans le terminal:
|
||||||
|
|
||||||
|
```
|
||||||
|
user@host:~$ python
|
||||||
|
Python 3.7.3 (default, Dec 20 2019, 18:57:59)
|
||||||
|
[GCC 8.3.0] on linux
|
||||||
|
Type "help", "copyright", "credits" or "license" for more information.
|
||||||
|
>>>
|
||||||
|
```
|
||||||
|
Les trois chevrons `>>>` vous indiquent que vous êtes dans la console python.
|
||||||
|
Faites ++ctrl+d++ pour en sortir.
|
||||||
|
|
||||||
|
Vous pouvez déclarer une variable, la transformer et l'afficher:
|
||||||
|
|
||||||
|
```
|
||||||
|
>>> MA_VARIABLE = " ceci est le contenu de ma variable "
|
||||||
|
>>>
|
||||||
|
>>> print(MA_VARIABLE)
|
||||||
|
ceci est le contenu de ma variable
|
||||||
|
>>>
|
||||||
|
>>> VAR_2 = MA_VARIABLE + " et celle-ci est plus longue"
|
||||||
|
>>>
|
||||||
|
>>> print(VAR_2)
|
||||||
|
ceci est le contenu de ma variable et celle-ci est plus longue
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
25
mkdocs.yml
25
mkdocs.yml
@ -17,8 +17,27 @@ markdown_extensions:
|
|||||||
- footnotes
|
- footnotes
|
||||||
- toc:
|
- toc:
|
||||||
permalink: true
|
permalink: true
|
||||||
|
- attr_list
|
||||||
extra_javascript:
|
extra_javascript:
|
||||||
- https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/highlight.min.js
|
- https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/highlight.min.js
|
||||||
- javascripts/config.js
|
- javascripts/config.js
|
||||||
extra_css:
|
extra_css:
|
||||||
- https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/styles/default.min.css
|
- https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/styles/default.min.css
|
||||||
|
nav:
|
||||||
|
- Accueil: index.md
|
||||||
|
- Cours:
|
||||||
|
- Introduction: cours/index.md
|
||||||
|
- "Présentation du Garage":
|
||||||
|
- cours/presentation-garage/index.md
|
||||||
|
- cours/presentation-garage/equipe.md
|
||||||
|
- cours/presentation-garage/histoire.md
|
||||||
|
- cours/presentation-garage/projets.md
|
||||||
|
- cours/presentation-garage/statut.md
|
||||||
|
- Ressources:
|
||||||
|
- cours/presentation-garage/ressources/sites-web.md
|
||||||
|
- Python:
|
||||||
|
- cours/python/index.md
|
||||||
|
- cours/python/workspace.md
|
||||||
|
- cours/python/1stproject.md
|
||||||
|
- cours/python/rest.md
|
||||||
|
- cours/python/os-script.md
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user