LE LANGAGE PYTHON COURS INTRODUCTIF DUT2 / ESP Formateur M. Mouhamed DIOP mouha

LE LANGAGE PYTHON COURS INTRODUCTIF DUT2 / ESP Formateur M. Mouhamed DIOP mouhamed.diop@esp.sn Université Cheikh Anta Diop Ecole Supérieure Polytechnique Département Génie Informatique LICENCE 3 / EC2LT Python ? Langage de programmation multi-paradigme Impératif (Procédural) Orienté objet Multiplateformes Interprété Typage dynamique Gestion automatique de la mémoire (ramasse -miettes) Open Source conçu pour produire du code de qualité, portable et facile à intégrer 2 Pourquoi apprendre Python? Très simple à apprendre Code moins volumineux Multiplateformes Très fun à utiliser Très documenté Grande communauté Peut être utilisé un peu partout (Administration système, applications bureau, web, jeux vidéo…) 3 Un peu d’Histoire Crée par Guido van Rossum durant une semaine de vacances La première version est sortie en 1991 Tire son nom de la série télévisée Monty Python's Flying Circus Guido était un fan de cette série britannique Principalement inspiré du: langage ABC pour l’indentation dans la syntaxe Modula-3 pour la gestion des exceptions Langage C et des outils UNIX Licence GPL depuis la version 2.1 (2001) 4 Installer Python Sous linux: Déjà installé Utiliser n’importe quel éditeur de texte pour le code source Exécuter en utilisant la commande python <nom_du_fichier> Sous Windows: http://www.python.org/getit/ Il installera aussi l’IDE IDLE qui permet d’utiliser le shell python et d’écrire et exécuter votre code. 5 Différentes versions de Python Depuis sa création, Python est passé par plusieurs versions (2.3, 2.5, 2.6, etc.) Ces versions sont englobées dans l’appellation Python 2.x Depuis le 13 Février 2009, la version 3.0.1 est sortie Elle casse la compatibilité ascendante Avènement de la version 3.x Un programme écrit en Python 2.x n’est plus forcément compatible avec la version 3.x Besoin d’adapter certains bouts de code Les bibliothèques ne sont plus accessibles de la même manière Ce cours concernera la version 3 du langage Faites attention aux ressources que vous trouvez sur le NET Repérer la version adéquate de Python utilisée 6 Syntaxe de base Opérateurs Opérateurs arithmétiques: 7+3 #10 7-3 #4 7*3 #21 7**3 #343 (puissance) 5/2 #2.5 (division réelle) 7 % 3 #1 (modulo) 7 // 3 #2 (division entière) 8 Opérateurs Opérateurs de comparaison: >, >=, ==,<=, <, != Opérateurs logiques: and or not Un commentaire commence par le caractère # et s’étend jusqu’ à la fin de la ligne Exemple: #Ceci est un commentaire 9 Les variables Pour déclarer une variable, la syntaxe générale est : nom_de_la_variable = valeur Une variable doit respecter quelques règles de syntaxe Le nom de la variable ne peut être composé que de lettres, majuscules ou minuscules, de chiffres et du symbole souligné « _ » (appelé underscore en anglais). Le nom de la variable ne peut pas commencer par un chiffre. Le langage Python est sensible à la casse, ce qui signifie que des lettres majuscules et minuscules ne constituent pas la même variable (la variable AGE est différente de aGe, elle- même différente de age). 10 Les types de variables Pas de déclaration explicite du type d’une variable Le langage est à typage dynamique Le type d’une variable est celui de la valeur qu’on lui attribue Il peut changer pendant le programme Exemple: s = " Hello " #s est de type String a = 2 #a est de type int s = a+2 #s est maintenant de type int La fonction type(s) retourne le type de la variable s. 11 Les types de base Les nombres entiers:  Peuvent être d’une taille quelconque (limité par la RAM)  Correspond au type int en Python Les nombres flottants (réels)  Notés avec un point décimal (7.2) ou avec une notation exponentielle (6.023e23)  Correspond au type float dans Python Les types booléens qui prennent deux valeurs : True et False Notez bien le caractère majuscule au tout début  Les chaines de caractères qui peuvent s’écrire de différentes façons  entre guillemets ("ceci est une chaîne de caractères") ;  entre apostrophes ('ceci est une chaîne de caractères') ;  entre triples guillemets ("""ceci est une chaîne de caractères""" ).  Correspond au type str dans Python 12 Opérations d’affectation a = 4 # Affectation a += 2 # idem à : a = a + 2 si a est déjà référencé a -= 2 # idem à : a = a - 2 si a est déjà référencé c = d = 8 # cibles multiples (affectation de droite à gauche) e, f = 2, 5 # affectation de tuple (par position) e, f = f, e # permutation entre e et f 13 Entrée clavier: input() Anciennement appelé raw_input() dans Python 2.x, la fonction input() Prend en paramètre le texte à afficher avant la saisie Lit ce qui est saisi au clavier et le retourne sous forme de chaine de caractères Pour lire une variable d’un autre type, il faut faire un transtypage (casting) Les transtypages sont de la forme : nouveau_type(variable) Exemple: nom = input(" Quel est votre nom ? "); age = int(input(" Veuillez donner votre age") ) 14 Sortie écran (print) La fonction print permet d’afficher un message à l’écran Elle est devenue une fonction à partir de Python 3.0 Sa syntaxe est : print(message_a_afficher) Elle fait un saut de ligne après l’affichage de la valeur donnée en paramètre Pour ne pas faire de retour à la ligne, on rajoute un paramètre end=" " Exemple : nom = "Samba" print(" Salut ", end = " " ) print(nom) 15 Print dans Python 2.x L’instruction print ne s’utilise pas de la même manière dans Python 2.x Elle ne correspond pas à une fonction Les parenthèses n’y sont pas obligatoires Exemple: nom = "Samba" print "Salut" print nom Résultat: Salut Samba 16 Print dans Python 2.x Pour l’empêcher de sauter de ligne, il faut rajouter une virgule à la fin (elle écrira un espace au lieu d’un saut de ligne) Exemple: nom = "Samba" print "Salut ", print nom Résultat: Salut Samba 17 Notion de bloc d’instructions: D’autres langages délimitent un bloc par les symboles { } ou BEGIN - END Python utilise l’indentation pour délimiter les blocs d’instructions Un bloc d'instructions est une suite d'instructions qui est alignée sur la même indentation. Les blocs sont utilisés pour définir les corps des fonctions, des boucles, des classes, etc. Il ne faut JAMAIS mélanger les tabulations et les espaces dans l’indentation Risque d’avoir une erreur La tabulation est généralement utilisée pour l’indentation 18 Structures de contrôle Les conditions Syntaxe 1: if condition: instruction… Syntaxe 2: if condition: instruction… else: instruction… 20 Les conditions Syntaxe 3: if condition_1: instruction… elif condition_2: #Equivalent à else if instruction… else: instruction… 21 Les conditions Exemple: If n > 0: print (n + " est strictement positif ") elif n < 0: print (n + " est strictement négatif ") else: print (n + " est nul ") 22 Les boucles La boucle while while condition: instructions… Exemple: i=0 while i < 5: i = i+1 print (i) 23 Les boucles La boucle for Elle est équivalente à un foreach des autres langages for element in sequence: instructions… Exemple: chaine = ‘salut’ for c in chaine: print(c) 24 Les boucles Pour faire un for classique, il faut utiliser la fonction range( dont on donnera les détails plus tard) for i in range(n) : #Equivalent à for (i=0; i<n; i++ ) en C instructions… Autres forme de la fonction range: for i in range(k, n): # équivalent à for (i=k; i<n ; i++ ) en C instructions… for i in range(k, n, p): # équivalent à for (i=k; i<n ; i+=p ) en C instructions… 25 les instructions break, continue L'instruction break permet d'arrêter une boucle avant sa fin. while condition: if condition2: break #si condition2 vérifiée, on sort de la boucle et on passe à instruction1 instructions… instruction1 L'instruction continue est similaire à break, mais au lieu d'interrompre la boucle, on passe à la prochaine itération. 26 Structures de données Les chaines de caractères Similaire aux chaines de caractères des autres langage (liste de caractères) Accès aux caractères par index, ie: pour une chaine s, s[i] retourne le ième caractère Sont immuables (on ne peut changer leurs valeurs),il est donc interdit d’écrire par exemple s[0]='a' Les constantes sont écrites entre "", ou entre ' ' On peut écrire des " " dans les chaines délimitées par ' ' et des ' dans les chaines délimitées par " " Le délimiteur peut aussi être « échappé » avec le caractère \ Exemple: S= " Je m’appelle Onizuka" S= ' le mot " Oni" signifie démon en japonais ' 28 Opérations sur les chaines Concatenation " Hello" + " World" # " Hello World " "Hello " * 3 # ’Hello Hello Hello‘ Supposons que S soit une chaine de longueur n Accès aux éléments:  Le premier caractère est S[0] et le dernier S[n-1]  S[i] retourne le ième élément de S  S[-i] retourne le ième élément de S en partant de la fin. (à la position n-i) Sous chaines:  La fonction len(S) retourne la taille de S.  S[i:j] donne la sous-chaine uploads/s1/ cours-python-diop.pdf

  • 79
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Jan 19, 2022
  • Catégorie Administration
  • Langue French
  • Taille du fichier 0.5964MB