Python : fondamentaux Achref El Mouelhi Docteur de l’universit´ e d’Aix-Marseil

Python : fondamentaux Achref El Mouelhi Docteur de l’universit´ e d’Aix-Marseille Chercheur en programmation par contrainte (IA) Ing´ enieur en g´ enie logiciel elmouelhi.achref@gmail.com H & H: Research and Training 1 / 190 Plan 1 Introduction 2 PEP 3 Console Python 4 Variables D´ eclaration Type Identit´ e Op´ erations sur les variables Suppression 5 Lecture d’une saisie 6 Fichiers de code Python H & H: Research and Training 2 / 190 Plan 7 Formatage de chaˆ ıne de caract` ere 8 Commentaires 9 Structures conditionnelles if if ... else if ... elif ... else pass H & H: Research and Training 3 / 190 Plan 10 Structures it´ eratives while while ... break while ... continue while ... else for for-one-line for ... break ... else 11 Collections (tableaux dynamiques) List Tuple Set Dictionary 12 Variable (objet) muable (mutable) H & H: Research and Training 4 / 190 Plan 13 Fonctions D´ eclaration et appel Fonction r´ ecursive Fonction ` a multi-valeurs de retour Fonction retournant une fonction Type Param` etres avec valeur par d´ efaut Op´ erateur * Op´ erateur ** Param` etre kwargs Fonction de retour (callback) Fonction g´ en´ eratrice Variables locales et globales Fonction Lambda H & H: Research and Training 5 / 190 Plan 14 Documentation help Documentation HTML Documentation et introspection 15 Constantes 16 ´ Emulation du switch 17 Pylint H & H: Research and Training 6 / 190 c ⃝Achref EL MOUELHI c ⃝ Introduction Python Python? langage de programmation orient´ e objet et proc´ edural fortement typ´ e (Impossible de concat´ ener une chaˆ ıne et un entier sans convertir l’entier en chaˆ ıne) interpr´ et´ e ` a typage dynamique premi` ere version cr´ e´ ee par Guido van Rossum en 1991 puis par Python Software Foundation depuis la version 2 en 2001 H & H: Research and Training 7 / 190 c ⃝Achref EL MOUELHI c ⃝ Introduction Python Python, pourquoi? Langage de haut niveau, dot´ e de gestion automatique et dynamique de m´ emoire : ramasse-miettes, pas de pointeur, pas d’allocation de m´ emoire... syst` eme de gestion d’exceptions Disposant d’une bonne documentation, des supports vid´ eos, plusieurs exemples sur internet ´ Enorme communaut´ e : un des langages les plus utilis´ es dans le monde (https://www.tiobe.com/tiobe-index/) Permettant de d´ evelopper des programmes : extensibles (avec des biblioth` eques C existantes) portables : Windows, Mac OS, Linux ... H & H: Research and Training 8 / 190 c ⃝Achref EL MOUELHI c ⃝ Introduction Python Python : multi-domaine D´ eveloppement Web : disposant des frameworks tr` es ´ evolu´ es et tr` es populaires comme Django Data : tr` es utilis´ e en Big Data, Machine Learning et Data Science Script : instructions simples ` a ex´ ecuter dans une console H & H: Research and Training 9 / 190 c ⃝Achref EL MOUELHI c ⃝ Introduction Python Hello world en Java public class Main { public static void main (String [] args) { System.out.print("Hello world"); } } L’´ equivalent en Python print("Hello world") H & H: Research and Training 10 / 190 c ⃝Achref EL MOUELHI c ⃝ Introduction Python Quelques versions de Python Python 1 (sortie en 1991) Python 1.5 (sortie en avril 1999) Python 1.6 (sortie en septembre 2000) Python 2.0 (sortie en octobre 2000) Python 2.1 (sortie en avril 2001) Python 2.6 (sortie en octobre 2008) Python 2.7 (sortie en juillet 2010) Python 3.0 (sortie en d´ ecembre 2008) Python 3.1 (sortie en juin 2009) Python 3.7 (sortie en janvier 2018) Python 3.8 (sortie en octobre 2019) H & H: Research and Training 11 / 190 c ⃝Achref EL MOUELHI c ⃝ Introduction Introduction Python : t´ el´ echargement https://www.python.org/downloads/ H & H: Research and Training 12 / 190 c ⃝Achref EL MOUELHI c ⃝ PEP Python PEP : Python Enhancement Proposal Propositions d’am´ elioration de Python Ensemble de r` egles qui permet d’homog´ eniser le code https://www.python.org/dev/peps/ H & H: Research and Training 13 / 190 c ⃝Achref EL MOUELHI c ⃝ PEP Python Les r` egles de nommage (PEP 8) Classes et exceptions : Pascal case Variables, fonctions, m´ ethodes, fichiers (modules) et dossiers (packages) : Snake case Constantes : Snake case (All Caps, en franc ¸ais tout en majuscule en s´ eparant les mots par des underscores) Modules et packages, on conseille d’utiliser des noms courts. Packages, on d´ econseille d’utiliser les underscores H & H: Research and Training 14 / 190 c ⃝Achref EL MOUELHI c ⃝ PEP Python Les instructions (PEP 8) 80 caract` eres maximum par ligne. 4 espaces pour l’indentation (pas de tabulation). 2 lignes de s´ eparations entre les diff´ erents ´ el´ ements. 1 ligne vide ` a la fin de chaque fichier de code. 1 espace apr` es : mais pas avant 1 espace avant et apr` es chaque op´ erateur 1 instruction par ligne H & H: Research and Training 15 / 190 c ⃝Achref EL MOUELHI c ⃝ Console Python Python Consoles Python Allez dans la barre de recherche de Windows Cherchez Python 3.8 et ouvrez la console (invite de commandes), ou IDLE Python 3.8 et ouvrez la console (Power Shell) H & H: Research and Training 16 / 190 c ⃝Achref EL MOUELHI c ⃝ Console Python Python Remarques Une instruction Python commence par >>> Le r´ esultat de l’instruction est affich´ e ` a la ligne sans >>> H & H: Research and Training 17 / 190 c ⃝Achref EL MOUELHI c ⃝ Console Python Python Remarques Une instruction Python commence par >>> Le r´ esultat de l’instruction est affich´ e ` a la ligne sans >>> Afficher Hello world en Python >>> print("Hello world") Hello world H & H: Research and Training 17 / 190 c ⃝Achref EL MOUELHI c ⃝ Console Python Python Console simple vs IDLE (Integrated Development and Learning Environment) IDLE = console + coloration du code + auto-compl´ etion + indentation automatique + ... Copier/coller un code multi-lignes fonctionne avec la console mais pas avec l’IDLE def somme(a, b): return a + b print(somme(2, 3)) Il faut configurer pour r´ ecup´ erer l’historique des commandes lanc´ ees depuis un IDLE Il est possible de stocker l’historique des commandes lanc´ ees depuis un IDLE dans un fichier IDLE est ´ evidemment moins rapide que la console H & H: Research and Training 18 / 190 c ⃝Achref EL MOUELHI c ⃝ Console Python Python Autres consoles Python bpython (https://bpython-interpreter.org/) : une console avec un ´ editeur de texte avanc´ e offrant la possibilit´ e de modifier les commandes pr´ ec´ edentes, auto-indentation, syst` eme de suggestion pour l’auto-compl´ etion.... ipython (https://ipython.org/) : une console orient´ ee data facilitant la visualisation de donn´ ees et int´ egrant des outils de haute performance pour les calculs parall` eles. H & H: Research and Training 19 / 190 c ⃝Achref EL MOUELHI c ⃝ Console Python Python En utilisant une console Python, on peut effectuer des op´ erations arithm´ etiques >>> 3+2 5 H & H: Research and Training 20 / 190 c ⃝Achref EL MOUELHI c ⃝ Console Python Python En utilisant une console Python, on peut effectuer des op´ erations arithm´ etiques >>> 3+2 5 Ou des tests logiques >>> 3+2>1+7 False H & H: Research and Training 20 / 190 c ⃝Achref EL MOUELHI c ⃝ Variables Python Une variable? Un pointeur vers une zone m´ emoire Permettant de stocker une ou plusieurs donn´ ees Pouvant avoir plusieurs valeurs diff´ erentes dans un programme H & H: Research and Training 21 / 190 c ⃝Achref EL MOUELHI c ⃝ Variables Python Une variable? Un pointeur vers une zone m´ emoire Permettant de stocker une ou plusieurs donn´ ees Pouvant avoir plusieurs valeurs diff´ erentes dans un programme Python est un langage de programmation fortement typ´ e, mais Pas de type ` a pr´ eciser pour les variables Une variable peut changer de type Impossible de concat´ ener une chaˆ ıne et un nombre sans conversion H & H: Research and Training 21 / 190 c ⃝Achref EL MOUELHI c ⃝ Variables Python Caract´ eristiques d’une variable Son nom dans le programme Son type (d´ eterminant souvent l’espace m´ emoire r´ eserv´ e pour la variable) Son identit´ e H & H: Research and Training 22 / 190 c ⃝Achref EL MOUELHI c ⃝ Variables D´ eclaration Python Pour d´ eclarer une variable >>> x = 2 H & H: Research and Training 23 / 190 c ⃝Achref EL MOUELHI c ⃝ Variables D´ eclaration Python Pour d´ eclarer une variable >>> x = 2 Pour afficher une variable >>> x 2 H & H: Research and Training 23 / 190 c ⃝Achref EL MOUELHI c ⃝ Variables D´ eclaration Python Pour d´ eclarer une variable >>> x = 2 Pour afficher une variable >>> x 2 Pour utiliser une variable >>> x + 3 5 H & H: Research and Training 23 / 190 c ⃝Achref EL MOUELHI c ⃝ Variables D´ eclaration Python Pour d´ uploads/Ingenierie_Lourd/ 2-courspythonintroduction.pdf

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