1 Présentation du langage Python 3 Ce diaporama s’adresse aux débutants en Pyth

1 Présentation du langage Python 3 Ce diaporama s’adresse aux débutants en Python ayant déjà une expérience de la programmation. En première lecture, vous pourrez ignorer les diapositives qui commencent par une étoile (*). 2 Présentation du langage Python 3 ➢Création en 1989 par Guido van Rossum « BDFL » ➢Licence libre (GPL) ➢Langage interprété, orienté objet ➢Multiplateforme (Windows, Linux, Mac, Android, etc.) ➢Facile à apprendre ➢Populaire dans le milieu éducatif et universitaire ➢Usage professionnel 3 Classement TIOBE Python est l’un des langages généralistes les plus populaires, avec Java, C ou C++ 4 Versions ●La version majeure en cours est la version 3 mais la version 2 est encore largement utilisée. ●Pas de compatibilité ascendante entre la version 2 et la version 3 :( 5 Installation ●Par la suite, on s’intéressera uniquement à l’implémentation standard de Python (CPython). ●Téléchargement et procédure d'installation : Python 3.8.2 (février 2020) Python 2.7.17 (octobre 2019) https://www.python.org/downloads/ 6 Modules (librairies) ●Le richesse de Python réside dans le nombre impressionnant de modules disponibles (200 000 actuellement) ●« Package » = module de modules ●PyPI - the Python Package Index https://pypi.python.org/pypi 7 Quelques modules célèbres ●calcul scientifique (NumPy et SciPy) ●graphiques (matplotlib) ●traitement d'images (PIL) ●vision artificielle par caméra (framework SimpleCV) ●data mining, machine learning, deep learning (scikit-learn, TensorFlow, Keras) ●bio-informatique (Biopython) ●interface graphique (Tkinter, PyQt, wxPython, PyGTK) ●applications Web (serveur Web Zope ; frameworks Web Flask, Django) 8 Quelques modules célèbres ●systèmes de gestion de base de données (SQLalchemy) ●analyse big data (pandas) ●applications réseau (socket, framework twisted) ●communication avec port série (PySerial), Bluetooth (pybluez) ●multitâches (threading) ●programmation asynchrone (asyncio) ●les modules py2exe (sous Windows) et cx_Freeze permettent de rendre vos scripts Python exécutables :) 9 Modules « built-in », standards et autres ●Les modules built-in sont les modules natifs de Python. Ils sont toujours disponibles : – math, time, sys, … ●Les modules standards sont des modules utiles que l’on a intégré dans la distribution Python : – socket, urllib, threading, sqlite3, ... 10 Modules « built-in », standards et autres ●Les modules externes doivent être ajoutés, la procédure d'installation est variable suivant l'OS : – Exemple : pour installer le module matplotlib sur une Raspberry Pi (distribution Linux Raspbian), il suffit de taper la commande système suivante : sudo apt install python-matplotlib (python 2) sudo apt install python3-matplotlib (python 3) – Autrement, l'utilitaire pip doit marcher dans la plupart des cas : python -m pip install matplotlib 11 Python et C/C++ sont complémentaires ●Intégration dans Python de modules écrits en C/C++ => gain en performance Les modules built-in sont écrits en C. ●Intégration dans C/C++ de modules écrits en Python 12 Environnement de développement (IDE) ●IDE par défaut : IDLE – Éditeur de code – Interpréteur – Débogueur ●Dans Windows : Démarrer → Rechercher : IDLE 13 Environnement de développement (IDE) ●Autres IDE – Eclipse (avec le plugin pydev) – Eric – Spyder – Thonny – ipython (en mode console) – Jupyter notebook – Geany – Notepad++ 14 Python 3 – Les variables ●Typage dynamique (déclaration d'une variable sans préciser explicitement son type) ●Principaux types : – Entier (int) – Nombre « flottant » (float) – Chaîne de caractères (str) – Booléen (bool) – Liste (list) – Tuple (tuple) – Dictionnaire (dict) 15 Python 3 – Type int >>> a = 5 >>> print(a) 5 ●Dans l’interpréteur, la fonction print() est facultative : >>> a 5 >>> print(type(a)) # ou type(a) <class 'int'> >>> b, c = 9, 3 # affectation de plusieurs variables >>> b - c # ou print(b - c) 6 16 Python 3 – Type float >>> n = 3 # type int >>> n = n + 0.2 # donne un type float >>> n 3.2 >>> a = 12.0 # type float >>> b = -8.23e3 >>> c = 81.5385 >>> D = b**2 - 4*a*c >>> D 67728986.152 17 Python 3 – Dernier résultat ●Dans un interpréteur, le dernier résultat d’un calcul est disponible dans la variable « _ » : >>> 10 + 2 12 >>> _ 12 >>> _ * 5 60 >>> _ 60 18 Python 3 – Le module math >>> import math >>> a = math.sqrt(3)/2 >>> a 0.8660254037844386 >>> b = math.sin(math.pi/3) >>> b 0.8660254037844386 >>> math.log10(1e6) 6.0 19 Python 3 – La fonction help() >>> help(math) # aide sur le module math >>> help(math.sin) Help on built-in function sin in module math: sin(...) sin(x) Return the sine of x (measured in radians). 20 Python 3 – Type str (chaîne de caractères) Le « Hello world ! » en Python demande une seule ligne de code : 21 Python 3 – Type str (chaîne de caractères) >>> nom = 'Dupont' >>> nom 'Dupont' >>> print(nom) # n’affiche pas les délimiteurs Dupont >>> prenom = 'Pierre' ●Concaténation >>> chaine = prenom + ' ' + nom >>> chaine 'Pierre Dupont' 22 Python 3 – Type str (chaîne de caractères) ●Saut de ligne avec la séquence d’échappement « \n » >>> chaine ='Première ligne\nDeuxième ligne\nTroisième ligne' ●ou plus simplement : >>> chaine = " " "Première ligne Deuxième ligne Troisième ligne" " " >>> print(chaine) Première ligne Deuxième ligne Troisième ligne 23 *Python 3 – Type str (chaîne de caractères) ●Autres séquences d’échappement : >>> chaine = '\\ \' \"\n\x61' >>> print(chaine) \ ' " a ●Les « raws strings » >>> chaine = r'\\ \' \"\n\x61' >>> print(chaine) \\ \' \"\n\x61 24 Python 3 – La fonction input() ●En mode console ●Retourne un type str >>> nom = input("Entrer votre nom : ") Entrer votre nom : Dupont >>> nom 'Dupont' 25 Python 3 – Conversion de types ●Fonctions int(), float() et str() >>> nombre = float(input("Entrer un nombre : ")) Entrer un nombre : 4 >>> nombre**2 16.0 26 Python 3 – Formatage des données ●Fonction format() >>> nom, age, masse = 'Dupont', 18, 72.4 >>> print(''Mon nom est {}, âge {} ans et masse {} kg''.format(nom, age, masse)) Mon nom est Dupont, âge 18 ans et masse 72.4 kg >>> print(''Mon nom est {}, âge {} ans et masse {:.3f} kg''.format(nom, age, masse)) Mon nom est Dupont, âge 18 ans et masse 72.400 kg 27 Python 3 – Formatage des données ●Pour python >= 3.6 : les « f-strings » >>> nom, age, masse = 'Dupont', 18, 72.4 >>> print(f''Mon nom est {nom}, âge {age} ans et masse {masse} kg'') Mon nom est Dupont, âge 18 ans et masse 72.4 kg 28 Python 3 – Le type list ●Une liste est une structure de données, une sorte de tableau. ●Le premier élément (item) d'une liste possède l'indice (l'index) 0. ●Dans une liste, on peut avoir des éléments de types différents. >>> infoperso = ['Pierre', 'Dupont', 18, 1.75] >>> infoperso[2] # le troisième élément 18 29 Python 3 – Le type list ●On peut modifier les éléments d’une liste : >>> infoperso[2] = 19 >>> infoperso ['Pierre', 'Dupont', 19, 1.75] ●La taille d’une liste peut aussi être modifiée. Par exemple, on peut ajouter un élément en fin de liste avec la méthode append() : >>> infoperso.append(72.4) >>> infoperso ['Pierre', 'Dupont', 19, 1.75, 72.4] 30 *Python 3 – Le type list ●Un exemple avec une liste d’attente (dans le genre pile FIFO) : >>> L = [12, 15, 20, 22, 28, 34, 43, 59] On supprime le dernier élément (59) : >>> L.pop() On insère un élément (10) en début de liste (indice 0) : >>> L.insert(0, 10) >>> L [10, 12, 15, 20, 22, 28, 34, 43] ●Vous noterez que nous n’avons pas eu besoin de faire une boucle pour décaler les éléments. 31 Python 3 – La fonction range() ●range() permet de créer une séquence d'entiers : >>> sequence = range(5) >>> sequence # objet de type « range » range(0, 5) >>> list(sequence) # conversion en liste pour plus de clarté [0, 1, 2, 3, 4] >>> sequence2 = range(1, 11) # début, fin non comprise >>> list(sequence2) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> list(range(4, -1, -1)) [4, 3, 2, 1, 0] 32 Python 3 – Le type tuple ●Un tuple ressemble beaucoup à une liste : >>> infoperso = ('Pierre', 'Dupont', 18, 1.75) >>> infoperso = 'Pierre', 'Dupont', 18, 1.75 # autre écriture >>> infoperso[2] 18 ●Mais contrairement à une liste, on ne peut pas modifier un tuple (un tuple est non « mutable ») : >>> infoperso[2] = 19 TypeError: 'tuple' object does not support item assignment 33 Python 3 – Le slicing ●Le slicing (« tranchage ») concerne les objets indexables : chaîne de caractères, liste, tuple. >>> nom = 'Durand' >>> nom[1:4] # éléments d’indices 1 à 3 'ura' >>> nom[4:] 'nd' >>> nom[-2] # avant dernier élément 'n' >>> nom[::-1] # -1 désigne le pas 'dnaruD' 34 Python 3 – Permuter des variables ●En Python, on peut permuter deux variables (ou plus) sans passer par une variable intermédiaire : >>> a = 4 >>> b = 8 >>> b, a = a, b >>> a 8 >>> b 4 uploads/Litterature/ diaporama-presentation-python.pdf

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