Langages Informatiques Programmation avec le langage Python Un

Langages Informatiques
Programmation
avec le langage Python
Un outil commode au service de l’ingénieur
Xavier Dupré
Avant-propos
Quelques années passées à initier les élèves à l’informatique avec différents langages
me poussent à dire que le langage Python est sans doute un langage qui s’apprend
plus vite sans pour autant être limité. Les ordinateurs ont progressé et il n’est plus
souvent nécessaire d’utiliser des langages tels que le Ccertes plus rapide et plus
connu mais aussi plus difficile à maîtriser. A partir de 2004, le langage Python a
été utilisé à l’ENSAE 1pour initier les élèves à la programmation et, depuis cette
date, j’ai pu observer un regain d’intérêt des élèves pour cette matière qui s’appuyait
auparavant sur le langage C. Certains étudiants avouent même s’être amusés ; leur
projet de programmation n’est plus centré sur un langage mais sur les résultats qu’il
permet d’obtenir.
Le langage Python suffit pour la plupart des besoins d’un ingénieur et permet de
réaliser beaucoup plus rapidement des programmes informatiques qui fonctionnent
sur les principaux systèmes d’exploitation. Internet fournit également un panel très
large de librairies pour faire du calcul scientifique, des jeux ou encore des sites
Internet. Il suffit parfois de quelques minutes pour télécharger une extension et s’en
servir. Malgré ces avantages, il existe peu de livres de langue française sur ce langage,
beaucoup moins que ceux écrits en langue anglaise dont quelques uns seulement sont
traduits.
Ce livre n’aborde pas des sujets comme la programmation web ou l’utilisation
conjointe des langages Python et SQL. La description du langage couvre les be-
soins qui sont ceux d’un ingénieur, c’est-à-dire une personne dont la programma-
tion ne constitue pas l’essentiel de son travail. Chaque notion est illustrée par des
exemples 2. Ceux-ci sont particulièrement présents lors de l’introduction de notions
pas toujours évidentes à comprendre comme les threads, les interfaces graphiques et
l’utilisation de C++. Le livre se ferme sur plusieurs chapitres ne contenant que des
exercices et leurs corrections. Ces exercices sont de deux types : des travaux dirigés
et des problèmes courts. Ces derniers ont été posés lors des examens à l’ENSAE et
ont été conçus pour préparer les élèves à répondre aux questions techniques lors des
entretiens d’embauche.
Le langage Python évolue assez vite, il est de plus en plus utilisé ce qui explique la
multitude d’informations qu’on peut trouver sur Internet. Le site officiel 3recense
la plupart des extensions (plus d’une centaine) accessibles gratuitement. Il existe
également de nombreux sites d’aide comme WikiPython 4qui recense des exemples
de programmes sur des sujets variés. L’anglais est la langue d’échange par excellence
1. Ecole Nationale de la Statistique et de l’Administration Economique, http://www.ensae.fr/
2. L’ensemble de ces exemples est accessible depuis le site http://www.xavierdupre.fr.
3. http://www.python.org/
4. http://wikipython.flibuste.net/
dans le monde informatique et le langage Python n’y échappe pas même si les
moteurs de recherches retournent presque toujours des résultats en français pour
des requêtes concernant Python, à condition toutefois d’y insérer un mot de syntaxe
exclusivement française.
Il n’est pas utile de lire tous les chapitres pour savoir programmer. Le chapitre 1
décrit l’installation du langage Python et son utilisation via des éditeurs de texte.
Les chapitres 2 et 3 introduisent les premiers concepts, à partir de là, il est déjà
possible d’écrire des programmes conséquents et notamment de lire les chapitres 11
à 12 pour s’exercer.
Les chapitres 4 et 5 s’intéressent à la programmation objet, qui n’est pas indispen-
sable dans un premier temps. La programmation est utilisée en tant qu’outil pour
atteindre un objectif, réaliser une étude ou tester un modèle. Nombreux sont les
élèves qui choisissent de contourner les classes et les objets sans pour autant nuire
à la qualité de leur travail ; les programmes qu’ils conçoivent sont sans doute moins
lisibles mais ils parviennent à l’objectif fixé.
Le chapitre 6 présente comment créer ses propres extensions. Les derniers para-
graphes ne concernent que des utilisateurs experts puisqu’ils parlent de l’utilisation
conjointe des langages Python et C++ à partir d’un exemple conçu à cet effet et
utilisable en peu de temps 5. Cette technique est intéressante dans des domaines où
les calculs doivent être impérativement très rapides comme en finance, matière à
laquelle sont formés les étudiants de l’ENSAE.
Le chapitre 7 introduit les fichiers où comment conservées des résultats sur disque
dur. Le chapitre 8 présente les interfaces graphiques et le chapitre 9 les threads. Les
chapitres 10 à 12 ne contiennent que des exercices et problèmes sur lesquels plusieurs
promotions de l’ENSAE ont été évaluées.
5. Concernant ce point, cet exemple téléchargeable permet de construire entièrement un module
Python écrit en C++, l’ajout d’une fonctionnalité ne prenant que quelques minutes. Cet exemple
fonctionne sous Microsoft Windows avec Microsoft Visual C++, il utilise la librairie Boost Python.
Microsoft Windows est le système d’exploitation le plus courant dans les sociétés.
Table des matières
partie I Le langage Python 9
1. Introduction ................................... 10
1.1 Ordinateur et langages . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2 Présentation du langage Python ..................... 12
1.3 Installation du langage Python ..................... 14
1.4 Installation d’un éditeur de texte . . . . . . . . . . . . . . . . . . . . 18
1.5 Premierprogramme ........................... 21
1.6 Installation d’extensions (ou modules externes) . . . . . . . . . . . . 23
1.7 Outilsconnexes.............................. 28
2. Types et variables du langage Python ..................... 31
2.1 Variables.................................. 31
2.2 Types immuables (ou immutable).................... 32
2.3 Types modifiables (ou mutable)..................... 42
2.4 Extensions................................. 54
3. Syntaxe du langage Python (boucles, tests, fonctions) ............ 57
3.1 Les trois concepts des algorithmes . . . . . . . . . . . . . . . . . . . . 57
3.2 Tests.................................... 59
3.3 Boucles .................................. 63
3.4 Fonctions ................................. 71
3.5 Indentation ................................ 85
3.6 Fonctionsusuelles............................. 86
3.7 Constructions classiques . . . . . . . . . . . . . . . . . . . . . . . . . 87
4. Classes ...................................... 93
4.1 Présentation des classes : méthodes et attributs . . . . . . . . . . . . 93
4.2 Constructeur ............................... 98
4.3 Apport du langage Python ........................ 99
4.4 Opérateurs, itérateurs . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.5 Méthodes, attributs statiques et ajout de méthodes . . . . . . . . . . 108
1 / 336 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 !