Vous êtes sur la page 1sur 17

Lycée Portes de L’Oisans,

38220 Vizille

FORMATION :

PROGRAMMER EN PYTHON, NIVEAU 1 Année 2019-2020

- Lundi 9 mars, 9h
- Mercredi 18 mars, 9h

Formateur :
Olivier Malzieu
(ISN, NSI, SNT, Sciences Physiques et Physique Appliquée)

1
Modalités du stage : (voir le site https://bv.ac-grenoble.fr/ipaf/module/search#)

Objectif pédagogique : Premiers pas en programmation Introduction au langage Python pour


débutant
Contenu : Approche par la pratique et découverte d'un environnement de développement.
Les notions suivantes sont abordées : programme informatique, variables et operateurs, fonctions,
conditions et boucles.
Forme : Travaux pratiques en groupe sur ordinateurs
Priorité : Aucune des priorités nationales actuelles
Modalités : deux journées en présentiel
Conditions particulières : S'engager dans une démarche individuelle et collective de
développement professionnel. Maîtriser les savoirs disciplinaires et leur didactique
Public-cible : FONCTION D'ENSEIGNEMENT. Tout public concerne par l'enseignant de la
programmation en Python (SNT, Sciences Physiques, S2I,...) du  du bassin grenoblois (38-9).
Durée en heures : 12
Nombre de places prévues par groupe : 24
Nombre de groupes possibles : 1

1
I) Présentation

Python est un langage de programmation objet interprété.

- 1989 : 1ère version du langage par Guido Von Rossum

- le nom du langage vient du Monthy Python’s Flying Circus.

- Années 2000 : Python 2

- Décembre 2008 : Python 3.0 (non compatible avec la version précédente)

La version 3 est celle choisie par l’Education Nationale (SNT, NSI, etc..)

C’est celle que nous utiliserons.

1
II) Pourquoi Python   ?
- Python est facile à apprendre, clair, lisible
- Python est le langage choisi par l’Education Nationale en France (en Mathématiques,
NSI, SNT, etc..)
- Python est un langage polyvalent à usage général 
- Python est un langage couramment utilisé dans la science des données
- Python est utilisé dans presque tous les domaines de l’informatique,
y compris dans le Web, le cloud computing, l'automatisation, les tests de logiciels, le Big Data,
l’Intelligence Artificielle, etc…

(d’après : apprendre-a-coder.com)
1
- Python est multiplateforme et open source (BeOS, Mac OS X, Unix, Windows, etc..).
- Nombreux modules, large communauté

- Popularité : D’après un sondage du site Stack Overflow, Python est le langage qui a la plus

forte croissance en 2019, il se place en 4ème position

1
Les inconvénients :

- Langage interprété, donc moins performant (lenteur)

- Peu uti lisé en industrie pour de l’informati que embarquée ou pour


l’informati que mobile (smartphones)

1
III) Quel environnement de travail choisir pour
programmer en Python ?
(d’après le site : https://maths.discip.ac-caen.fr/spip.php?article413)

1
1) la distribution officielle : environnement de
développement IDLE
sur le site officiel https://www.python.org/downloads/.

console IDLE

1
2) Pyzo
Pyzo, projet libre, est recommandé dans le
document Ressources pour le lycée, Algorithmique et
programmation publié sur Eduscol en juin 2017.

3) EduPython  ***
(uniquement sur Windows), réalisé par le groupe
AmiensPython de l’académie d’Amiens.
- Installation possible sans être administrateur
- Intègre un grand nombre de librairies (pandas, pygame,
etc..)

4) PyScripter (Windows)
Cité dans le manuel SNT Delagrave

1
4) Thonny, projet libre de l’université de Tartu (Estonie), qui
présente une interface simple (en anglais) et un outil de
débogage qui permet un suivi de chacune des opérations
réalisées lors de l’exécution d’un programme.

5) Anaconda et Spyder ***

6) WinPython et Spyder ***


(Pour Windows, comme son nom l’indique)

7) Utiliser un éditeur en ligne (sans installation)


. Exemples : Trinket, Repl.it

1
8) Programmation Python par blocs
Programmation à l’aide de blocs, s’appuyant sur Blockly et affichant le texte du
programme en Python, ce qui permet une transition pour les élèves ayant
programmé sur Scratch.
L’académie de Lille propose ainsi PyBlock, en français.

On notera toutefois que cet environnement ne permet pas de programmer des


fonctions, et n’est donc pas totalement en accord avec le programme et les
ressources Eduscol sur le sujet.
 SofusPy est proposé par l’Irem de la Réunion, en français. Il permet la création
de listes et de fonctions. L’interface accorde une grande place à la tortue (module turtle).

1
 Trinket propose également un mode de programmation Python par bloc.
L’interface est en anglais et permet la création de listes et de fonctions.

 8) Jupyter notebook ***


 Les notebooks Jupyter sont des cahiers électroniques qui, dans le même document,
peuvent rassembler du texte, des images, des formules mathématiques et du code
informatique exécutable. Ils sont manipulables interactivement dans un navigateur web.
 Initialement développés pour les langages de programmation Julia, Python et R (d'où le
nom Jupyter), les notebooks Jupyter supportent près de 40 langages différents.
 La cellule est l'élément de base d'un notebook Jupyter. Elle peut contenir du texte
formaté au format Markdown ou du code informatique qui pourra être exécuté.

Jupyter est disponible dans certaines distributions (ou dans


certains cas à installer)  : Anaconda, WinPython, EduPython, etc…
 Peut-être utilisé par les enseignants pour écrire un cours ou un TD

1

9) Avec les calculatrices :

1
- NumWorks
- Casio
- Texas Instrument

10)Processing.py

Programmation Python utilisant l’interface graphique simplifiée de


Processing (cela ressemble surtout à du Processing).

1
IV) Interface SPYDER

Elle comporte 3 fenêtres :

EDITEUR DE
PROGRAMMES EXPLORATEUR DE
VARIABLES ET DE
CONSOLE PYTHON
FICHIERS

LANCEMENT DU
PROGRAMME 1
V) Ce qui change avec Python (comparé à d’autres langages)

- Langage interprété : la compilation est refaite à chaque ligne

- Pas de point-virgule en fin de ligne ( ; )

- Pas de déclaration de variable avec int, float, boolean, string, etc…

- Pas d’accolades pour les instructions { xxxxxxx }

- Très important : les 2 points (pour une boucle, un if, une fonction)

- Très important : L’INDENTATION

- Très important : la boucle for : la borne maximale n’est pas dans la boucle
Exemple :

Basic C ou Java (simplifié) Python


FOR i = 1 TO 5 for (i = 1 ; i <=5 ; i++) for i in range (1,6) :
PRINT (i) print(i); print (i)
# remarquez l’indentation

1
Résultat : 1 2 3 4 5 (en réalité, l’affichage se fait sur une colonne)

Vous aimerez peut-être aussi