B o b C o r d e a u & L a u r e n t P o i n t a l U n e i n t r o d u c t i o n

B o b C o r d e a u & L a u r e n t P o i n t a l U n e i n t r o d u c t i o n à P y t h o n 3 v e r s i o n 1 . 6 1 8 c iii Remerciements Grand merci à Hélène Cordeau pour ses illustrations ; les aventures de Pythoon en- chantent les têtes de paragraphe. Merci à Tarek Ziadé pour les emprunts à ses publications, en particulier nous remercions les éditions Eyrolles pour leur aimable autorisation de publier le dialogue de la page  et les éditions Dunod pour leur aimable autorisation de publier les exemples des pages , et . Merci à Cécile Trevian pour son aide à la traduction du « Zen de Python ». Merci à Stéphane Gimenez pour sa relecture en profondeur et à Xavier Olive pour les emprunts à son papier « Introduction à l’écriture chinoise ». Merci à Éric Berthomier et Christophe Massuti pour leur construction du livre sous Debianet la remontée des correctifs nécessaires. Merci à Jean-Pierre Guiet, typographe émérite, pour ses corrections pointues. Une pensée spéciale pour Stéphane Barthod : son enseignement didactique auprès des étudiants et son engagement envers ses collègues ne seront pas oubliés. Enfin il faudrait saluer tous les auteurs butinés sur Internet… En se partageant le savoir ne se divise pas, il se multiplie Sommaire  Introduction   La calculatrice Python   Contrôle du flux d’instructions   Conteneurs standard   Fonctions et espaces de noms   Modules et paages   La Programmation Orientée Objet   La POO graphique   Teniques avancées  A Interlude  B Passer du problème au programme  C Jeux de caractères et encodage  D Les expressions régulières  E Exercices corrigés  Bibliographie et Webographie  Memento Python   Abrégé dense Python   Index  Glossaire  Table des matières  Avant-propos À qui s’adresse ce cours ? Utilisé à l’origine par les étudiants de Mesures Physiques de l’IUT d’Orsay, ce cours s’adresse plus généralement à toute personne désireuse d’apprendre Python en tant que premier langage de program- mation. Ce cours se veut essentiellement pratique. D’une part en fournissant de très nombreux exemples et une vingtaine d’exercices corrigés, et d’autre part en proposant plusieurs moyens de naviguer dans le document : un sommaire en début et une table des matières détaillée en fin, un index et un glossaire, tous deux munis d’hyperliens. Cette introduction reposent sur quelques partis pris — Le choix du langage Python version , version qui abolit la compatibilité descendante avec la série des versions .x dans le but d’éliminer les faiblesses originelles du langage. — Le choix de logiciels libres ou gratuits : — des interpréteurs ou éditeurs spécialisés comme IPython, spyder ou Wingware ; — des outils open source de production de documents : le moteur XƎ T EX , le script latexmk , l’édi- teur TeXworks et le logiciel de création de diagrammes Dia. — Enfin sur l’abondance des ressources et de la documentation sur le Web ! Numéro de version ? Suivant l’exemple de Donald Knuth, l’inventeur du logiciel de composition T EX, le numéro de la ie ver- sion de ce document, au lieu d’être « .» ou « ..», est la ie décimale d’un nombre célèbre . Pour joindre les auteurs k pycours@kordeo.eu k laurent.pointal@limsi.fr Sauf mention contraire, le contenu de cet ouvrage est publié sous la licence : Creative Commons BY-NC-SA-. La copie de cet ouvrage est autorisée sous réserve du respect des conditions de la licence creativecommons.org/licenses/by/3.0/fr/ . C’est une grave décision, mûrement réfléchie : « Un langage qui bouge peu permet une industrie qui bouge beaucoup » (Bertrand Meyer). . Le « moteur » est le programme qui permet de composer ce texte. Il est associé au format XƎL A T EX, ensemble de macros simplifiant l’écriture. . Permet d’automatiser la composition. . φ = 1+ p 5 2 , le nombre d’or. C Introduction Ce premier chapitre introduit les grandes caractéristiques du langage Py- thon, le replace dans l’histoire des langages informatiques, donne les parti- cularités de production des programmes, définit la notion si importante d’al- gorithme et conclut sur les divers implémentations disponibles. . Principales caractéristiques du langage Python — Historique — : Guido van Rossum travaille aux Pays-Bas sur le projet AMOEBA, un système d’exploita- tion distribué. Il conçoit Python à partir du langage ABC et publie la version ..sur un forum Usenet — : sortie de Numerical Python, ancêtre de numpy — : naissance de la PSF (Python Soware Fundation) — Les versions se succèdent… Un grand choix de modules est disponible, des colloques annuels sont organisés, Python est enseigné dans plusieurs universités et est utilisé en entreprise… — : première sortie de IPython — Fin : sorties simultanées de Python .et de Python . — : versions en cours des branches et : v..et v.. — Langage Open Source — Licence Open Source CNRI, compatible GPL, mais sans la restriction copyle. Donc Python est libre et gratuit même pour les usages commerciaux — GvR (Guido van Rossum) est le « BDFL » (dictateur bénévole à vie !) — Importante communauté de développeurs — Nombreux outils standard disponibles : Baeries included — Travail interactif — Nombreux interpréteurs interactifs disponibles (notamment IPython) — Importantes documentations en ligne — Développement rapide et incrémentiel — Tests et débogage outillés — Analyse interactive de données — Langage interprété rapide — Interprétation du bytecode compilé — De nombreux modules sont disponibles à partir de bibliothèques optimisées (souvent écrites en C ou C++) — Simplicité du langage (cf. annexe A p. ) : — Syntaxe claire et cohérente — Indentation significative . au CWI : Centrum voor Wiskunde en Informatica. Introduction .Matériel et logiciel — Gestion automatique de la mémoire (garbage collector) — Typage dynamique fort : pas de déclaration — Orientation objet — Modèle objet puissant mais pas obligatoire — Structuration multifichier aisée des applications : facilite les modifications et les extensions — Les classes, les fonctions et les méthodes sont des objets dits de première classe. Ces objets sont traités comme tous les autres (on peut les affecter, les passer en paramètre) — Ouverture au monde — Interfaçable avec C/C++/FORTRAN — Langage de script de plusieurs applications importantes — Excellente portabilité — Disponibilité de bibliothèques — Plusieurs milliers de packages sont disponibles dans tous les domaines Points forts de Python : — langage de très haut niveau ; — sa lisibilité ; — « langage algorithmique exécutable ». . Environnements matériel et logiciel .. L’ordinateur On peut schématiser la définition de l’ordinateur de la façon suivante : Définition b Ordinateur : automate déterministe à composants électroniques. L’ordinateur comprend entre autres : — un microprocesseur avec une UC (Unité de Contrôle), une UAL (Unité Arithmétique et Logique), une horloge, une mémoire cache rapide ; — de la mémoire volatile (dite vive ou RAM), contenant les instructions et les données nécessaires à l’exécution des programmes. La RAM est formée de cellules binaires (bits) organisées en mots de  bits (octets) ; — des périphériques : entrées/sorties, mémoires permanentes (dites mortes : disque dur, clé USB, CD- ROM…), réseau… .. Deux sortes de programmes On distingue, pour faire rapide : — Le système d’exploitation : ensemble des programmes qui gèrent les ressources matérielles et lo- gicielles. Il propose une aide au dialogue entre l’utilisateur et l’ordinateur : l’interface textuelle (interpréteur de commande) ou graphique (gestionnaire de fenêtres). Il est souvent multitâche et parfois multiutilisateur ; — les programmes applicatifs sont dédiés à des tâches particulières. Ils sont formés d’une série de commandes contenues dans un programme source qui est transformé pour être exécuté par l’ordi- nateur. . Langages .. Des langages de différents niveaux — Chaque processeur possède un langage propre, directement exécutable : le langage machine. Il est formé de et de et n’est pas portable, c’est le seul que l’ordinateur puisse utiliser ; — le langage d’assemblage est un codage alphanumérique du langage machine. Il est plus lisible que le langage machine, mais n’est toujours pas portable. On le traduit en langage machine par un assembleur ; — les langages de haut niveau. Souvent normalisés, ils permeent le portage d’une machine à l’autre. Ils sont traduits en langage machine par un compilateur ou un interpréteur. - - .Production des programmes Introduction .. Très bref historique des langages — Années (approches expérimentales) : FORTRAN, LISP, COBOL, ALGOL… — Années (langages universels) : PL/, Simula, Smalltalk, Basic… — Années (génie logiciel) : C, PASCAL, ADA, MODULA-… — Années (programmation objet) : C++, LabView, Eiffel, Perl, VisualBasic… — Années (langages interprétés objet) : Java, tcl/Tk, Ruby, Python… — Années (langages commerciaux propriétaires) : C#, VB.NET… Des centaines de langages ont été créés, mais l’industrie n’en utilise qu’une minorité. . Production des programmes .. Deux teniques de production des programmes La compilation est la traduction du source en uploads/Geographie/ cours-python-3.pdf

  • 21
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager