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 l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!