Python
Extrait du Informatique et sciences du numérique au lycée
http://isn.ac-amiens.fr/spip.php?article19
Python
- Ressources - Langages de programmation -
Date de mise en ligne : vendredi 9 décembre 2011
Copyright © Informatique et sciences du numérique au lycée - Tous droits
réservés
Copyright © Informatique et sciences du numérique au lycée Page 1/4
Python
Python est un langage de programmation qui allie puissance et facilité d'apprentissage,
souvent cité sur internet comme étant le langage pour apprendre à programmer.
Fiche d'identité
Apparu en 1991
Auteur Guido van Rossum (Pays-Bas)
Système d'exploitation Multiplate-forme
Licence Python Software Foundation License (Compatible GPL)
Exécution Interprété via Byte-code
Paradigmes Orienté objet, impératif, fonctionnel, procédural, réflectif
Typage Fort, dynamique
Influencé par ABC, C, ICON, Modula-3, Perl, Smalltalk, Tcl
À influencé Ruby, Groovy, Boo
Extension de fichier .py .pyw
Particularités
La principale particularité de Python est de posséder une indentation significative, c'est-à-dire que les blocs
d'instructions sont déterminés par leur décalage par rapport à la marge gauche, et non par une paire d'accolades {...}
comme dans beaucoup de langages. Cela peut paraître déroutant, mais cela permet d'écrire du code lisible car très
bien présenté.
L'autre caractéristique de python est d'être orthogonal : il est défini par un nombre minimal de mots clés, il n'y a pas de
redondance. Ainsi, les structures « switch...case » et « repeat...until » n'existent pas car elle peuvent être remplacées
par des clause « if » et ou des boucles « while ». Une conséquence directe est qu'en général, il n'y a qu'une seule
manière simple d'écrire un algorithme en Python. Pour les élèves, cette caractéristique facilite l'apprentissage, et évite
d'avoir plusieurs solutions correctes à un problème donné, qui peut être une source de confusion.
Python est un langage très explicite : il n'y a pas de mécanismes cachés ou « automagiques » et dont le résultat
dépend du contexte d'exécution. Python fait ce qui est écrit, un point c'est tout, ce qui fait qu'un programme python est
facile à relire.
Python ne possède pas de pointeurs et gère lui-même toutes les allocations de mémoire grâce à son «
ramasse-miettes ». De plus, il détermine seul le type des données utilisées (typage dynamique). Cependant, il ne
Copyright © Informatique et sciences du numérique au lycée Page 2/4
Python
permet pas les conversions implicites (« cast ») comme en C ou en Php (typage fort).
Un très grand nombre de bibliothèques sont disponibles pour Python, ce qui permet de développer facilement des
projets de haut niveau sans avoir à coder beaucoup de chose. Voici quelques exemples :
PIL : [http://www.pythonware.com/products/pil/] manipulation d'images
scipy et numpy : [http://www.scipy.org/] calculs scientifiques
matplotlib : [http://matplotlib.sourceforge.net/] réalisation de graphiques scientifiques
twisted : [http://twistedmatrix.com/] applications client/serveur
pyserial : [http://pyserial.sourceforge.net/] accès aux ports série
pygame : [http://pygame.org/] permet de réaliser des jeux : graphisme 2D, son, clavier, souris, timer...
Remarque : Le monde python est actuellement en transition de la version 2 à la version 3, qui sont partiellement
incompatibles. Toutes les bibliothèques ne sont pas encore passées à Python 3, aussi est-il raisonnable pour le
moment de travailler pour l'ISN avec python 2 (version 2.7)
Environnements de développement
Python est installé avec son propre IDE : Idle. Simple mais un peu rustique.
Un simple éditeur de texte permet de travailler avec Python, de préférence avec coloration syntaxique tel que
notepad++ [http://notepad-plus-plus.org/] ou SciTe [http://www.scintilla.org/SciTE.html].
Un IDE intéressant est Spyder [http://spyderlib.googlecode.com/] : très complet, il intègre très bien les fenêtres créées
par matlpotlib ce qui en fait un substitut à Matlab.
Il existe un plugin pour Eclipse [http://www.eclipse.org/], pydev [http://pydev.org/], qui permet d'utiliser toute la
puissance d'Eclipse pour des projets Python.
Sous Windows, un projet très intéressant est Python(x,y) [http://www.pythonxy.com]. Il regroupe en un seul fichier
(certes un peu gros : 420 Mo) tout ce qu'il faut pour utiliser python dans un cadre scientifique : python, des IDE
(eclipse, spyder, scite...) et des dizaines de bibliothèques à vocation scientifique... À voir absolument !
Hello World
Créer un fichier hello.py contenant :
print "Hello world"
Copyright © Informatique et sciences du numérique au lycée Page 3/4
Python
pour l'exécuter, taper la commande :
> python hello.py
ou double-cliquer sur hello.py
Avantages
Facile à apprendre
Programmes faciles à relire
Débogage simple
Un simple éditeur de texte est suffisant pour programmer
Très puissant
Très grand nombre de bibliothèques disponibles
Inconvénients
Langage interprété, donc plus lent en théorie, mais ce défaut est largement compensé par la rapidité de
développement.
Encore peu répandu dans les lycées, sauf auprès des professeurs de mathématiques.
La nouvelle version python 3 est partiellement incompatible avec les versions 2.
Liens
Python 2.7 [http://www.python.org/download/]
Python(x,y) [http://www.pythonxy.com]
Entreprises utilisant Python : www.python.org/about/success/ [http://www.python.org/about/success/]
Documentation en ligne :
Documentation officielle : http://docs.python.org/
Tutoriel officiel : http://docs.python.org/tutorial/ind... [http://docs.python.org/tutorial/index.html]
Tutoriel intéressant : Dive into Python [http://www.diveintopython.net/]
Livre de Gérard Swinnen, professeur d'informatique en Belgique : Apprendre à programmer avec Python
[http://inforef.be/swi/python.htm]
Utilisation de Python en mathématiques dans l'académie d'Amiens : AmiensPython
[http://pedagogie.ac-amiens.fr/maths/AmiensPython/]
Post-scriptum :
Python est souvent utilisé en mathématiques pour l'algorithmique en seconde, première et terminale, notamment dans l'académie : AmiensPython
[http://pedagogie.ac-amiens.fr/maths/AmiensPython/]
Copyright © Informatique et sciences du numérique au lycée Page 4/4
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !