Skip to content
GitLab
    • Explore Projects Groups Topics Snippets
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • PYTHON - Atelier MatPlotLib PYTHON - Atelier MatPlotLib
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

La forge institutionnelle d'INRAE étant en production depuis le 10 juin 2025, nous vous invitons à y créer vos nouveaux projets.

  • Poulard Christine
  • PYTHON - Atelier MatPlotLibPYTHON - Atelier MatPlotLib
  • Wiki
  • Python_quelques bases

Python_quelques bases · Changes

Page history
Update Python_quelques bases authored 2 years ago by Poulard Christine's avatar Poulard Christine
Hide whitespace changes
Inline Side-by-side
Showing
with 13 additions and 15 deletions
+13 -15
Python_quelques-bases.md
View page @ b6cb1860
...@@ -271,31 +271,29 @@ resultat = ma_fonction(5) # ici la fonction renvoie un tuple de 3 éléments ...@@ -271,31 +271,29 @@ resultat = ma_fonction(5) # ici la fonction renvoie un tuple de 3 éléments
print (resultat) # donc la variable resultat est un tuple de 3 éléments print (resultat) # donc la variable resultat est un tuple de 3 éléments
``` ```
L'exécution du code donne : L'exécution du code fait afficher : <kbd>(5, 10, 25)</kbd>
(5, 10, 25) Ma variable resultat est un tuple autrement dit `resultat = (5, 10, 25)`
Un *tuple* est un conteneur, comme *list* mais avec des caractéristiques différentes.
Pour récupérer tous les termes on « déballe » le tuple (unpacking) :`(x,y,z) = resultat` ; les parenthèses ne sont pas obligatoires, on peut aussi écrire `x,y,z = resultat`.
On aura dans les 2 cas `x=5` ; `y=10` et `z=25`
Ma variable resultat est un tuple autrement dit resultat = (5, 10, 25) Si on n’a besoin que du premier terme : on peut se contenter d'écrire `x, le_reste = resultat`
Un *tuple* est u conteneur, comme *list* mais avec des caractéristiques différentes.
Pour récupérer tous les termes on « déballe » le tuple (unpacking) :
(x,y,z) = resultat ou x,y,z = resultat.
On aura dans les 2 cas x=5 ; y=10 et z=25
Si on n’a besoin que du premier terme : on peut se contenter d'écrire
x, le_reste = resultat
Vous pourrez vérifier que dans ce cas le_reste est un *tuple* équivalent à (y,z), c'est logique ! Vous pourrez vérifier que dans ce cas le_reste est un *tuple* équivalent à (y,z), c'est logique !
Mais on peut faire encore plus succinct, pour bien montrer que le reste ne nous intéresse vraiment pas : Mais on peut faire encore plus succinct, pour bien montrer que le reste ne nous intéresse vraiment pas :
x, _ = resultat ou même x, = resultat `x, _ = resultat` ou même `x, = resultat `
( _ = nom de variable valide (!) , mais par convention on sait qu'on ne s’en servira pas ) ( `_` = nom de variable valide (!) , mais par convention on sait qu'on ne s’en servira pas )
Si aucune variable ne récupère le résultat ce n’est pas gênant mais ce qui a été retourné est « perdu » _a priori_ car on n'a pas affecté de nom ; plus exactement on ne peut agir dessus (on pourrait épiloguer un peu plus, mais pour débuter cela suffira). Si aucune variable ne récupère le résultat ce n’est pas gênant mais ce qui a été retourné est « perdu » _a priori_ car on n'a pas affecté de nom ; plus exactement on ne peut agir dessus (on pourrait épiloguer un peu plus, mais pour débuter cela suffira).
C’est le cas pour certaines fonctions matplotlib où on peut écrire plt.plot(x,y) (je trace juste une courbe) ou ma_courbe, = plt.plot(x,y) (en plus je nomme ma courbe, premier terme du tuple, je n’ai pas besoin des autres) La fonction **plot** de matplotlib peut prendre en argument plusieurs vecteurs des x et des y : en conséquence elle renvoie un **tuple** d'objets de type Line2D. Ceci crée une petite bizarrerie quand on veut nommer l'objet renvoyé :
Rappel : on peut écrire `plt.plot(x,y)` (je trace juste une courbe, je ne nomme pas l'objet renvoyé)
Si on veut nommer la courbe on écrit cette fois `ma_courbe, = plt.plot(x,y)`. En effet, comme plot renvoie un **objet tuple** même s'il n'y a qu'une courbe, il faut que je "déballe" le tuple, pour prendre le premier objet (de type Line2D), d'où la **virgule**.
c) portée des variables : :warning: pas si simple en fait. c) portée des variables : :warning: pas si simple en fait.
......
Clone repository

Accueil ("Home")


Python, astuces et outils
  • Gestion des versions de Python des paquets (en construction) pip, venv, poetry
  • Python_modules_du_developpeur
    • La doc avec Sphinx

Matplotlib, ateliers et points théoriques

Présentation des ateliers, avec galerie

  • le problème des versions
  • notes sur la version 3.5
  • bien exploiter la doc : les infos des méthodes
  • Atelier A Bases en Python utiles pour comprendre mpl
  • Atelier B graphiques simples
    • suite, lire un fichier
    • focus méthode scatter
    • focus méthodes step et bar
  • Atelier C : les objets d'une figure graphiques avec plusieurs unités
    • Point Théorie Subplots
  • Atelier D : cartes, heatmaps et leurs légendes
    • suite, les fichiers binaires extraire une matrice avec np.fromfile
    • focus : redimensionnement d'une carte "zoom"
  • Atelier E : cas des longues chroniques
  • Atelier G : interactivité widgets, toolbar et événements
    • focus : les événements "MouseEvent"
  • définir un style, obtenir des étiquettes de dates correctes focus plt.rcParams
  • Atelier H : tracé efficace sur données tabulaires : seaborn (pandas et mpl à venir) focus seaborn
Interfaces graphiques (GUI)
  • Un outil complet avec gestion des signaux et internationalisation: QT

  • Lexique
  • Tutographie

  • Pour les contributeurs
  • Sidebar

Menu

Explore Projects Groups Topics Snippets