Page 1

Formation Python

Lycée Aristide Briand (Saint-Nazaire)

Objectif de cette formation :

Pourquoi Python ?

Une proposition d'aménagement du programme de mathématiques de la classe de seconde est parue en mai 2017. Voici le lien qui vous permettra de trouver le texte complet.

Aménagement du programme de seconde

"Cet aménagement qui rentrera en vigueur, à la rentrée 2017, a pour conséquence un changement important dans l'outil algorithmique préconisé. Il est demandé d'utiliser un langage de programmation interprété, concis, largement répandu et pouvant fonctionner dans une diversité d'environnements. Algobox, ne correspond pas à cette nouvelle attente institutionnelle. Le langage Python est un des langages possibles. Il est déjà enseigné en classes préparatoires aux grandes écoles et dans certains BTS."

Les recommandations de l'inspection d'académie : Voir

Plan

  1. Introduction et présentation de Python : Voir

  2. Pour découvrir Python, utilisons le comme une calculatrice : Voir

  3. Variables et affectations : Voir

  4. Les fonctionsVoir

    • Les fonctions prédéfinies
    • Construction de nos propres fonctions

  5. Structure conditionnelle et structures répétitives non bornées (boucle while) : Voir

  6. Les listes : Voir

    • Les variables de type list
    • Opérations sur les listes
    • Opérateur in
    • La fonction range(...)
    • Autre manière de créer une liste
  7. Structures répétitives bornées (boucle for) : Voir

  8. Les modules utiles pour les mathématiques : Voir

  9. Lire et écrire dans un fichier : Voir

  10. Manipulation de fichiers CSV : Voir

  11. Des exemples d'activités pour le cours de mathématiques : Voir

  12. Des codes de base : Voir
  13. Des exemples d'utilisations de Python pour le cours de SNT (Sciences Numériques et Technologie) : Voir

  14. Des exemples d'utilisations de Python pour le cours de Sciences Physiques : Voir

Une définition ?

Pour celles et ceux qui souhaitent avoir une définition du langage Python :

Définition de Python

Installation de Python :

Quelles Versions Python ?

La version qui est recommandée par l'inspection pour les lycéens de pré-bac est Python version 3.
Comme modules/bibliothèques, il faut en mathématiques :

Les modules numpy, scipy, sympy, sont à découvrir même s'ils sont considérés comme superflus par l'inspection.
Nous verrons plus tard ce qu'est un module.

En SNT, les bibliothèques pillow, folium, tkinder semblent indispensables. Nous verrons comment les installer.

Pour utiliser Python on a besoin d'un IDE (Environnement de Développement Intégré). Il y en a plusieurs. Pour une utilisation experte, on a besoin d'un éditeur. Pyscripter, Pizo et Spyder sont des éditeurs possibles.

Dans ce qui suit, on supposera que le système d'exploitation utilisé est Windows. Il est possible d'installer l'interpréteur Python v3 de base (et sa bibliothèque standard) sous Windows en utilisant l'installeur proposé par le site Python (https://www.python.org/downloads/), mais cette installation est un peu complexe. Il est préférable de télécharger un paquet complet comme nous allons le voir tout de suite.

Voici quatre adresses qui vous permettrons d'installer Python 3 et des éditeurs Python. Nous nous intéresserons dans la suite à winPython et à Portable Python.

winPython
Pyzo
Anaconda
Portable Python
EduPython

L'installation de winPython se fait facilement sur un ordinateur personnel. Sur un ordinateur d'un établissement scolaire, c'est plus compliqué ! Après quelques mois de pratique dans mon établissement, j'ai très vite abandonné winPython. J'utilise maintenant Portable Python ou EduPython. Les élèves peuvent l'installer eux-même sur leurs ordinateurs. Cette utilisation évite les "pertes de console" intempestives qui font perdre du temps à tout le monde. Les bibliothèques citées plus haut y sont soit incorporées soit très faciles à installer.

Les versions choisies pour la formation sont WinPython, Portable Python et EduPython

WinPython et Portable Python sont des "paquets" Python recommandés pour développer du code Python. C'est est un bundle Scientific Python assez récent qui est entièrement libre mais spécifique à Windows. Il intègre notamment : IPython, Spyder, NumPy, SciPy, MatplotLib, Pandas, SymPy, PIP...

Voici la liste complète des packages pour winPython:

https://sourceforge.net/p/winpython/wiki/PackageIndex_34/

Voici la liste complète des packages pour Portable Python:

http://portablepython.com/wiki/PortablePython3.2.5.1/

Simple à installer, WinPython et Portable Python présentent en plus l'intérêt d'être entièrement portable (donc par exemple installable sur une clef USB amovible).

Vous trouverez une bonne aide à l'installation de cet environnement Python 3 sur le site :

https://enacit1.epfl.ch/introduction-python/outils-python.html#installations

Une fois téléchargé et installé, que trouve-t-on dans le dossier WinPython ou Portable Python?

On y trouve de nombreux fichiers. Dans la suite, on ne s'intéressera à :

DossierWinPython DossierWinPython

Ce sont IDLEX et Spyder du paquet winPython qui sont présentés dans ce qui suit. IDLE-Portable et PyScripter sont très proches. Il n'est pas nécessaire de faire une double présentation.

IDLEX chez WinPython

Dans un premier temps, c'est cet IDE (Environnement de Développement Intégré) qui va nous permettre de découvrir Python3. Il comporte une console (pour exécuter des commandes), un éditeur de texte simple (pour créer des scripts). Rapide présentation de la fenêtre IDLEX :

FenetreIDLEX

Deux utilisations sont possibles. Nous les décrirons dans la suite.

Spyder chez WinPython

Quand on aura un peu manipuler Python3 et que l'on voudra rédiger et utiliser des programmes un peu plus longs, on utilisera Spyder. C'est d'ailleurs ce que l'on utilisera avec les élèves...mais n'allons pas trop vite !

Rapide présentation de la fenêtre Spyder : Spyder est un environnement de développement plus évolué que IDLEX. A l'ouverture de Spyder (ce qui peut prendre quelques secondes) on obtient la fenêtre ci-dessous qui comporte :

Spyder permet de développer des programmes plus complexes (composés de plusieurs modules), de débugger, d'analyser le code.

FenetreSpyder



Page 1