• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Initiation au langage python
 

Initiation au langage python

on

  • 1,194 views

langage de programmation Python

langage de programmation Python

Statistics

Views

Total Views
1,194
Views on SlideShare
1,194
Embed Views
0

Actions

Likes
2
Downloads
61
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Initiation au langage python Initiation au langage python Document Transcript

    •       
    • 
    • Introduction I. Présentation du langage Python 1. Un peu d’histoire 2. Avantages et inconvénients de Python 3. Comparaison avec d’autres langages   4. Les domaines d’application Python   5. Projets basés sur Python II. Installation et utilisation de Python 1. Installation 2. Utilisation 3. Les modes dexécution   III. Manipulation du langage 1. Variables 2. Types de variables 3. Les structures de contrôle IV. Les fonctions V. La programmation objet 1. Déclaration / instanciation 2. L’héritage 3. Les exceptions VI. Les modules VII. Applications   1. Calcul d’âge 2. Jeu de motsConclusionWebographie 
    •      
    • 
    • IntroductionPython est un langage de programmation facile à utiliser et puissant. Il offre des structures dedonnées puissantes de haut niveau et une approche simple mais réelle de la programmationorientée-objet. C’est un langage idéal pour écrire des scripts et pour le développement rapided’applications dans de nombreux domaines et sur la plupart des plates-formes informatiques.Il est ainsi similaire à Perl, Ruby, Scheme, Smalltalk et Tcl.Python est aussi remarquable pour le nombre de bibliothèques accessibles via linstallation desmodules appropriés. Que ce soit la connexion avec une base de donnée, lutilisation debibliothèques dinterface graphique (wxPython, PyQt, pyGTK), la manipulation avancée deXML (pyXML), le traitement dimage (Python Imaging Library), le développement de jeuvidéo (pygame), OpenGL, la grande majorité des technologies actuelle dispose d’uneextension python.Cette présentation essaie d’introduire de façon informelle aux concepts et caractéristiques debase du langage et du système Python. Elle présente un bon nombre des caractéristiques lesplus remarquables de Python, et donne une bonne idée de la “couleur” et du style du langage. 
    • I. Présentation du langage Python 1. Un peu d’histoirePython est créé au début des années quatre-vingt-dix par Guido Van Rossum au Centrum voorWiskunde à Informatica, Amsterdam. . En 1995, Rossum poursuivit le développement dePythonà la Corporation for National Research Initiatives de Reston (Virginie). Et en 2000,Rossum créa léquipe BeOpen PythonLabs qui, en octobre de la même année est incorporée àZope Corporation puis à la société Digital Creations. En 2001, la PSF (Python SoftwareFoundation) est créée. Il sagit dune organisation à but non lucratif détenant les droits depropriété intellectuelle de Python. Elle est sponsorisée en particulier par Zope Corporation.Pythonest distribué sous forme de logiciel libre.Python est couvert par sa propre licence et ne cesse d’évoluer.1 2. Avantages et inconvénients de PythonAvantage :  Interprété  Orienté objet  De haut niveau  Modulaire  A syntaxe positionnelle  Portable  Lisible  Extensible  Logiciel libreLe langage Python est dit interprété car il est directement exécuté sans passer par une phasede compilation qui traduit le programme en langage machine. En quelque sorte, il fonctionneautant comme une calculatrice que comme un langage de programmation.On considère que le langage Python est de haut niveau car il propose des fonctionnalitésavancées et automatiques telle le garbage collecting. Cette tâche correspond à la destructionautomatique des objets créés lorsquils ne sont plus utilisés. Il propose également des  
    • structures de données complexes telles que des dictionnaires, éloignées des types numériquesstandards.Le langage Python est modulaire. La définition du langage est très succincte et autour de cenoyau concis, de nombreuses librairies ou modules ont été développées. Python est assezintuitif, être à laise avec ce langage revient à connaître tout autant sa syntaxe que lesnombreux modules disponibles, eux-mêmes écrits en Python.Le langage Python est à syntaxe positionnelle en ce sens que lindentation fait partie dulangage. Le point-virgule permet de séparer les instructions en langage C, laccolade permetde commencer un bloc dinstruction. En Python, seule lindentation permet de marquer ledébut et la fin dun tel bloc, ce procédé consiste à décaler les lignes vers la droite pour montrerquelles appartiennent au même bloc dinstructions.Python est portable puisqu’il fonctionne sous de nombreux systèmes d’exploitation commeLinux, Windows, Mac Os…La syntaxe de Python est très simple, facile à apprendre, à lire, à comprendre et à écrire.Python est extensible: comme Tcl ou Guile, on peut facilement linterfacer avec des librairiesC existantes.Python possède également lavantage dêtre entièrement gratuit tout en proposant la possibilitéde pouvoir réaliser des applications commerciales à laide de ce langage. Les paragraphes qui suivent présentent les avantages et les inconvénients de Python face àdautres langages.Désavantage :  Lent  Absence des pointeurs  Typage différentPython est un langage interprété. Du coup, il est forcément beaucoup plus lent que deslangages compilés comme le C (réputé pour sa vitesse).2Le typage "particulier" nécessite toujours une explication et le fait que les débuts et fins debloc sont uniquement marqués par des tabulations.  
    • 3. Comparaison avec d’autres langages  Python et JavaLa syntaxe de Python est beaucoup plus simple que celle de Java, ce qui améliore de façontrès significative les temps de développement. Le programmeur ne perd pas de temps endéclaration de types, de variables, ... Python intègre des types de données très puissants,comme les listes et dictionnaires polymorphiques qui simplifient considérablement le travailde programmation. Enfin, Python est un langage totalement ouvert et libre, qui ne dépenddaucune entreprise particulière.  Python et C++La plupart des remarques concernant Java sappliquent à C++. Ajoutons encore que si le codePython est typiquement trois à cinq fois plus court que le code Java équivalent, il est de cinq àdix fois plus court que le code C++ correspondant. Cest un gain de temps notable lors desphases de développement et de maintenance des programmes. Un programme C++ nécessiteune recompilation chaque fois que lon change denvironnement, un programme compilé surune plate-forme ne pouvant en aucun cas être exécuté sur une autre. A linverse, unprogramme Python sexécutera sur toute plate-forme disposant de la machine virtuelle Python.Son principal inconvénient face au langage C++ est sa vitesse dexécution, plus lente.3 4. Les domaines d’application PythonLes domaines dapplication naturels de Python incluent entre autres :  Lapprentissage de la programmation objet.  Les scripts dadministration système ou danalyse de fichiers textuels.  Tous les développements liés à lInternet et en particulier au Web: scripts CGI, navigateurs Web, moteurs de recherche, agents intelligents, objets distribués…  Laccès aux bases de données (relationnelles).  La réalisation dinterfaces graphiques utilisateurs.  Le calcul scientifique et limagerie. Python ne sert alors pas à écrire les algorithmes, mais à combiner et mettre en œuvre rapidement des librairies de calcul écrites en  langage compilé (C, C++, Fortran, Ada…).  
    •  Le prototypage rapide dapplications. Lidée générale est de commencer par écrire une application en Python, de la tester (ou de la faire tester par le client pour déventuelles modifications du cahier des charges). Trois cas peuvent alors se présenter : o Les performances sont satisfaisantes, après optimisation éventuelle du code Python. On livre alors le produit tel quel au client. o Les performances ne sont pas satisfaisantes, mais lanalyse de lexécution du programme (à laide du profiler de Python) montre que lessentiel du temps dexécution se passe dans une petite partie du programme. Les fonctions, ou les types de données, correspondants sont alors réécrits en C ou en C++, sans modification du reste du programme. o Sinon, il est toujours possible de réécrire tout le programme, en utilisant la version Python comme un brouillon. 5. Projets basés sur PythonVoici la liste de quelques projets représentatifs basés sur Python :  Zope, un serveur dapplication innovant.  CPS, un framework de gestion de contenu et de travail collaboratif basé sur Zope.  Des moteurs de recherche comme Google ou Yahoo!.  Chandler, le projet de PIM (Personnal Information Manager) de lOpen Source Applications Foundation).4  
    • II. Installation et utilisation de Python 1. Installation  Simplicité d’installation o Simple exécutable à télécharger à partir du site officiel et à installer sous Windows. o Sous Linux et Mac Os, généralement préinstallé. 2. Utilisation  Exécution du binaire python(.exe) =>shell interactif  Exécution de script via python(.exe) nomDuScript 3. Les modes dexécution  Les deux modes dexécution dun code Python - Soit on enregistre un ensemble de commandes Python dans un fichier grâce à un éditeur (on parle alors dun script Python) que lon exécute par une touche du menu de léditeur ; - Soit on utilise un interpréteur (par exemple IDLE) pour obtenir un résultat immédiat grâce à linterpréteur Python embarque dans IDLE qui exécute la boucle dévaluation  
    • III. Manipulation du langage 1. Variables  Déclaration : >>> ma_variable = "Ceci est une chaine de caractères"  Typage dynamique  2. Types de variables  Données numériques : Entiers / Entiers Long / Virgules flottantes / Nombres complexes / Nombres octaux et hexadécimaux  Booléens : True, False  Chaînes de caractères :   Liste:     
    •  Tuples: sont des listes non modifiables     Dictionnaires :   Entrées/Sorties  Print : Linstruction print permet dafficher une valeur, un texte à lécran.  Input : Pour récupérer les données saisies par un utilisateur, on utilise les fonctions input() et raw_input().  n : permet de passer à une nouvelle ligne.  # : Précède le commentaire sur la même ligne du codeExemple 1 : nombre = input ("Entrez un nombre :n") print nombreAvec cet exemple, la valeur que va entrer lutilisateur sera enregistrée dans la variable appeléenombre.  Récapitulatif des variables Type Symbole Modifiable ? AccèsChaîne de caractère " " / / """ """ Non SéquentielListes [] Oui SéquentielTuples () Non SéquentielDictionnaires {} Oui Par clé 
    • 3. Les structures de contrôle  Les tests Les tests permettent dexécuter des instructions différentes selon la valeur dune condition logique. if condition1 : instruction1 instruction2 ... elif condition2 : instruction3 instruction4 ... elif condition3 : instruction5 instruction6Exemple :   Les boucles o La boucle « While » while (condition): instruction 1 instruction 2 ... instruction n 
    • Exemple :   o La boucle « For… in » for element in objet : instruction 1 instruction 2 ... instruction nExemple : IV. Les fonctions   
    •  Declaration Résultat: Taper une chaine: La pluie tombe dehors La chaîne :La pluie tombe dehors contient 4 mots o Les paramètres peuvent avoir une valeur par défaut ou non o Le passage des paramètres par mot-clé se fait: nb_mots = calcul_nombre_mots( chaine ="Hello World", debug = True )V. La programmation objet 1. Déclaration / instanciation   o Etudiant est une classe o __init__ est le constructeur o getNom() et getAge() sont des méthodes o ._nom et ._age sont des attributs o julien est un objet, une instance de la classe 2. L’héritage   
    • o Etudiant hérite de la classe Personne o Lhéritage peut être multiple o On peut surcharger des méthodes 3. Les exceptions o Exemple   raise / try / except VI. Les modulesLes modules sont des programmes Python qui contiennent des fonctions que l’on est amené àréutiliser souvent (on les appelle aussi bibliothèques ou librairies). Les développeurs dePython ont mis au point de nombreux modules qui effectuent une quantité phénoménale detâches.  Avantages des modules : o Réutilisation du code. o La documentation et les tests peuvent être intégrés au module. o La réalisation de services ou de données partagés. 
    • 1. Partition de l’espace de noms du système.  Les syntaxes possibles : o La commande import « nom_module » : importe la totalité des objets du module  o La commande from « nom_module » : importe les objets à partir d’un module Exemple: from math import pi, sin, log VII. Applications 1. Calcul d’âge Ce programme permet à l’utilisateur de saisir son âge et de calculer s’il est mineur ou majeur.  Code age = -1 while age <= 0: print("Entrez votre age :") age = int(input()) if age < 18: print("Encore", 18-age, "ans avant la majorite.") elif age > 18: print("Vous etes majeur depuis deja", age-18, "ans.") else: print("Vous venez d avoir vos 18 ans.") print("Joyeux anniversaire !")  
    • 2. Jeu de motsCe programme présente trois simples algorithmes pour détecter sil sagit de Palindromes,Anacycliques ou Anagrammes, en mentionnant le temps d’exécution (cf. Annexe1 : Code etexécution).Palindrome : un texte ou un mot dont lordre des symboles lettres ou des chiffres reste lemême quon le lise de gauche à droite ou de droite à gauche. Exemple : Radar, kayak, ABBAAnacyclique : un mot ou une phrase que lon peut lire à lenvers ou à lendroit, Contrairementau palindrome, un anacyclique a une signification différente selon le sens de lecture. Exemple : Soda, Ados ; Leon, Noel ; Mon, NomAnagramme : Jeu littéraire qui inverse ou permute les lettres dun mot ou dun groupe de motspour en extraire un sens ou un nouveau mot. Exemple : Aube => beau Niche => chien, chine Ordinateur =>on durerait, dur notaire, ration dure, rudération 
    • Conclusion Au terme de ce projet d’études consacré au langage Python, on possède une très bonnevue d’ensemble sur le sujet grâce à la lecture d’une quantité volumineuse d’articles, detutoriaux et de livres. Nous connaissons maintenant les points forts de ce langage comme : ladestruction automatique des objets (garbage collecting), la portabilité et la simplicité de lasyntaxe mais aussi ses limitations qui se manifestent dans l’indentation qui identifie les blocsd’instructions au lieu des accolades, le temps d’exécution qui est plus lent que les autreslangages vue qu’il est interprété. Espérant que ce projet a atteint les objectifs demandés. 
    •      
    •    
    •  
    •     
    •    
    •     
    • Webographie  Les sites généraux : www.python.org      Les liens     