Introduction à Python N. TSOPZE Intro. (historique)  inspiré d’ABC et Créé à l

Introduction à Python N. TSOPZE Intro. (historique)  inspiré d’ABC et Créé à la fin des années 80 par Guido, fan de de la série Monty Python's Flying Circus 1991, première version publique, le 0.9.0, postée sur le forum Usenet alt.sources 1995, sortie du navigateur Tk pour exécuter les applets Python avec modules de la bibliothèque standard rexec, htmllib,… 1999, création de l'environnement de développement IDLE 2000, publication de Python 2,0 par l’équipe PythonLabs de BeOpen. 2001, création de Python Software Foundation Intro. (historique) Arrêt de l’évolutivité de Python 2 en janvier 2020 par la PSF Cohabitation de Python 2 et Python 3 Plusieurs ajouts dans Python 3 non supportés par python 2: Division: / (réelle); // (entière) Fonction d’affichage : print(arg) vs print arg … Intro. Totalement gratuit et téléchargeables; langage de programmation objet interprété, multiparadigme (objet, fonctionnel, procédural) disponibilité sur la grande majorité des plates-formes courantes (BeOS, Mac OS X, Unix, Windows). intégrations faciles avec les langages C et C++ Premier pas langages de script: mode interactif mode script / programme Exécution de chaque commande saisie à l’invite de commande (>>>); Affichage immédiat du résultat Création des variables à la première utilisation Manipulation des boucles Regroupement des commandes dans un fichier et appel du fichier Premier pas Mode interactif Instructions sont directement interprétées et les résultats affichés réaliser des prototypes, tester tout ou partie d’un programme ou plus simplement interagir aisément et rapidement avec des structures de données complexes Exemple >>> print (’hello world!’) hello world! Premier pas Mode script / programme, saisir l’intégralité des instructions qu’il souhaite voir évaluer à l’aide de son éditeur de texte favori, demander leur exécution à l’interprète. extension .py. Structures de base Commentaires Commence par # Variables Objets dont les classes sont définies par l’usager, ou par l’environnement Python (types de base). manipulation les données au travers de références (qui donnent accès aux fonctionnalités des instances). typage dynamique  >>> x = 1 # x reference un entier  >>> x = ’toto’ # x reference desormais une chaine  >>> x = Foo() # x reference desormais une instance de Foo Instructions de base Affectation: = X=2 a,b=b,a #Permuter a et b Affichage: print print(a) print(‘’ la valeur de a est :’’ a) Saisie: input # la valeur saisie est prise comme une chaine de caractères a=input() a = input (" Entrer la valeur de a: ") a=int(a) ##conversion Opérations Opérations arithmétiques  Addition :  Addition : +  Soustraction : -  Multiplication :  Multiplication : *  Division : / (réelle); // (entière)  Modulo : %  Forme contractée: +=, -=, *=, /=  Affichage : print # Tenir compte des descripteurs Exemple  >>> x = 2  >>> x = x + 1  >>> x += 2 Chaines de caractères Constante chaine de caractères sont placées entre les guillemets (simple ou double) Opérations: Concaténation : + Affichage : print Accès aux éléments: ch[ i ], # i<0 pour commencer à la fin Sous chaines : ch[deb:fin] Exemples >>>x = ’hello ’ >>> y = "world! ’’ >>> z=x+y >>>x[2:4] Variables donnée du programme, stockée dans l’ordinateur. code alpha-numérique lié à une donnée de votre programme, permettant de l'utiliser à plusieurs reprises et faire des calculs un peu plus intéressants avec. Permet de stocker le résultat mémoire : « grosse armoire » avec plein de tiroirs. Chaque tiroir peut contenir une donnée ; certaines de ces données seront des variables de votre programme. Listes ensemble ordonné et dynamique d’éléments pouvant être de différents types Création de listes vides avec les deux manières possibles: [ ] ou list() >>> l1 = [] >>> l2 = list() Exemple. >>> x = True >>> foo = [’bar’, 12345, x] >>> foo [’bar’, 12345, True] Listes Accès aux éléments : Préciser l’index entre crochets méthodes append (val): ajout de val en fin de liste, Insert(ind,val) : pour ajouter val à un index donné ind. extend (l1): ajoute le contenu de la liste l1 passé en paramètre à la fin de la liste. index (val): index de la première occurrence d’un élément dans une liste // exception ValueError en absence.  in : True si l’élément est présent dans la liste et False sinon. Listes remove permet de supprimer la première occurrence d’un élément d’une liste en le désignant del (delete) détruire une référence à un objet Python, ou à une partie d’une liste. >>> del foo[1:3] + : concaténation Multiplication par un entier n : crée n copies de la liste Listes >>> foo.append(’new’) >>> foo [’bar’, 12345, 1, ’new’] >>> foo.insert(2, ’new’) >>> foo [’bar’, 12345, ’new’, 1, ’new’] >>> foo.extend([67, 89]) >>>foo.index(’new’) >>>foo.index(34) Traceback (most recent call last): File "<stdin>", line 1, in ? ValueError: list.index(x): x not in list >>> 34 in foo False Tableau (array)  Package array  Création  Import array  var=array.array(type, liste d’éléments) a = arr.array('d', [1.1, 3.5, 4.5])  Accès aux éléments:  var[i]; ## avec i commençant à 0  var[n1:n2] #éléments de n1 à n2  var[:-n] #éléments de 0 à n  var[n:] #éléments de n à la fin  var[:] # du début à la fin  Ajout d’éléments  var.append(x) #ajout de x à la fin  var.extend([liste de valeurs] # ajout de la liste de valeurs à la fin  var.insert(i,x) ## insèrer x à la position i Tableau (array) Concaténer : +  var1+var2 Suppression d’éléments: remove  var.remove(x) # supprimer x  del var[i] # supprime l’élément N° i Taille d’un élément : var. itemsize nombre d'occurrences de x dans le tableau: var.count(x)  index de la première occurrence de x : var.index(x) inverse l'ordre des éléments: var.reverse() Tableau (array) Code d'indication du type Type C Type Python Taille minimum en octets 'b' signed char int 1 'B' unsigned char int 1 'u' Py_UNICODE Caractère Unicode 2 'h' signed short int 2 'H' unsigned short int 2 'i' signed int int 2 'I' unsigned int int 2 'l' signed long int 4 'L' unsigned long int 4 'q' signed long long int 8 'Q' unsigned long long int 8 'f' float float 4 'd' double float 8 Tuples Ensemble d’éléments de types (différents) Création En précisant les éléments entre les parenthèses En terminant la liste par une virgule Accès aux éléments: par indexation Opérateur in: pour vérifier l’appartenance d’un élément à la liste Dictionnaires tableaux associatifs, ensembles non ordonnés d’éléments indexés par des clés. Une clé doit obligatoirement être immuable (chaîne, entier ou tuple). une clé est toujours unique. Déclaration deux accolades : {} ; {cle: 1, 23: ‘ABS’} utilisant le type dict : dict (cle=valeur, cle=valeur) ajout + accès aux éléments par indexation sur la clé associé à l’élément. Dictionnaires Méthodes Keys () : liste de toutes les clés du dictionnaire has_key () : True si la clé donné en paramètre est présente dans le dictionnaire et False sinon. opérateur in : vérifier l’appartenance Values () : liste des valeurs contenues dans le dictionnaire Items() : liste de tuples : (clé, valeur) opérateur del : supprimer une association du dictionnaire Construction  La structuration d’un programme définie par son indentation.  Le début d’un bloc défini par un ‘:‘,  la première ligne considérée comme un en-tête (test, boucle, définition, etc.).  la fin du bloc délimitée par le retour à l’indentation de l’en-tête.  La convention en Python est d’utiliser quatre espaces pour chaque niveau d’indentation.  Imbrications possibles des bloc. <en-tete>: <instructions> <en-tete>: <instruction> ## Bloc sur une seule ligne Construction - Conditions booléennes  tout ce qui n’est pas faux est vrai.  Les données «vide» sont évaluées à FAUX :  False, None, 0, “ ", [], list(), {}, dict(), (), tuple()  opérateurs de comparaison  <, <=, >, >=, !=, ==, is opérateurs booléens :  and, or, not  Exemple >>> l1 = [1, 2, 3] >>> l2 = [1, 2, 3] >>> l1 == l2 True >>> l1 is l2 False Construction - If Si condition alors instructions finsi <instructions avant le test> if <condition> : <instructions du bloc "alors"> <instructions après le test> Si condition alors instructions sinon instructions finsi <instructions avant le test> if <condition> : <instructions du bloc "alors"> else : <instructions du bloc "sinon"> <instructions après le test> // présence de « : » pour délimiter les blocs Construction - If Si condition1 alors instructions sinon si condition2 instructions sinon instructions finsi <instructions avant le test> if <condition1> : <instructions du bloc "alors"> elif <condition2>: instructions else : <instructions du bloc "sinon"> <instructions après le test> // présence de « : » pour délimiter les blocs, // possibilité d’imbriquer plusieurs « elif » Boucle pour Syntaxe for <var> in <sequence>: <instructions> [else: <instructions, séquence épuisée sans break> ] // […] indique l’aspect optionnel exemple X=0 For i in range(10,20): x=x+i Boucle pour Séquences range() range(n): entiers de 0 à n range(n1,n2) : entiers de n1 à n2 range(n1,n2,p) : entiers de n1 à n2 avec pour pas p. uploads/s3/ python-m1-part-1-pdf.pdf

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