Vous êtes sur la page 1sur 37

« La programmation

est avant tout un


plaisir curieux…. »

1
Python
Un petit tour d’horizon

Réalisé par :
Mme S.Darragi

S.Darragi
2

Plan
• Présentation générale
• Historique du langage

• Classement

• Pourquoi Python ? Caractéristiques

• EDI

• Installation
• Mode intératif
• Mode Script
• Utilisation de l’aide
• Import de modules

S.Darragi
Historique du langage
3

 Python est un langage de programmation


développé depuis 1989 par le développeur
néerlandais Guido Van Rossum et de
nombreux collaborateurs.

 Le nom Python revient à une série de


comédie des années 70 de la BBC nommée
“Monty Python’s Flying Circus”

S.Darragi
Historique du langage (suite)
4
Principales versions officielles parues :

• Python 1.0 – Janvier 1994
• Python 2.0 – Octobre 2000
• Python 2.1, 2.2 , 2001, Python 2.3 - 2003
• Python 2.4 – Novembre 2004,
• Python 2.5 – Septembre 2006
• Python 2.6 - Octobre 2008, Python 2.7 – Juillet 2010
 Révolution du langage python et apparition de la version 3
• Python 3.0 - Décembre, 2008
• Python 3.1 – Juin 2009
• Python 3.2 -Février 2011
• Python 3.3 Septembre 2012
• Python 3.4 - Mars , 2014
• Python 3.5 Septembre 2015
• Python 3.6.1 - Décembre 2016
• Python 3.7 – Janvier 2018
• Python 3.8 – Octobre 2019
• Python 3.9. 0, October 2020.

S.Darragi
Python - Classement …
• Classé:
5

• 5eme par ULTIME


• 1er par IEEE (2017)
• 5 eme par TIOBE software company « TIOBE :
The Importance Of Being Earnest » (2017)
• Elu « langage de l’année » en 2007 par la
TIOBE et réélu « langage de l’année en
2010 », ce titre est attribué au langage ayant
le plus progressé au cours de l’année
précédente +2.72 %
• Pour vous enrichir davantage consultez
• http://www.tiobe.com
• http://www.scriptol.fr/programmation/langages-populaires-2014.php
S.Darragi
TOP 10 des
Langages de Programmation Classement TIOBE
6

Langage de
Mar 2020 Mar 2019 Programmation Ratings Change
1 1 Java 17.78% +2.90%
2 2 C 16.33% +3.03%
3 3 Python 10.11% +1.85%
4 4 C++ 6.79% -1.34%
5 6 C# 5.32% +2.05%
6 5 Visual Basic 5.26% -1.17%
.NET

7 7 JavaScript 2.05% -0.38%

8 8 PHP 2.02% -0.40%


9 9 SQL 1.83% -0.09%
10 18 Go 1.28%
S.Darragi
Classement (2017)
langages de programmation
7
selon IEEE

https://spectrum.ieee.org/computing/software/the-2017-top-
programming-languages
S.Darragi
Classement des
langages de programmation selon IEEE (2019)
8
La sélection initiale de cette année comprenait près de 300 langages de programmation, mais le
classement final n’en a retenu que 52. Le tableau suivant donne le top 10 du classement général des
langages en 2019 :

https://programmation.develo
ppez.com/actu/276292/Meille
urs-langages-en-2019-selon-l-
IEEE-Python-leader-pour-la-
troisieme-annee-consecutive-
il-s-impose-dans-tous-les-
domaines-dans-lesquels-il-est-
utilise-du-developpement-
web-a-l-embarque/

S.Darragi
langages de programmation selon IEEE
(2020)
9

Selon l'IEEE, la popularité de Python


découle en grande partie du grand nombre
de bibliothèques spécialisées disponibles,
en particulier dans le domaine de
l'intelligence artificielle, où les
bibliothèques telles que Keras, TensorFlow,
CNTK et Theano sont de plus en plus
populaires auprès des développeurs.
Le deep learning n'est toutefois pas le seul
domaine dans lequel Python est sollicité.
L’augmentation importante de la puissance
de calcul des microcontrôleurs fait que des
versions embarquées de Python, telles que
CircuitPython et MicroPython, deviennent
de plus en plus populaires parmi ceux qui
font du développement embarqué.

S.Darragi
Pourquoi Python? Caractéristiques
10

 Python est un logiciel libre « free » : utilisation sans


restriction dans les projets commerciaux
 Python est un langage portable (peut fonctionner
sur différentes plateformes OS (operating system)
 Python convient aussi bien à des scripts d'une
dizaine de lignes qu'à des projets complexes de
plusieurs dizaines de milliers de lignes.
 La syntaxe de Python est très simple et, combinée à
des types de données évolués

S.Darragi - IPEST -
S.Darragi
Caractéristiques (suite)
11
 Python est un Langage de haut niveau (faire
beaucoup avec peu de code, un programme python
est 3 à 5 fois moins cours qu’un programme C)

 Python est un langage orientée objet qui


supporte l’héritage et la surcharge des opérateurs

 Python est Dynamiquement typé: tout objet


manipulable par le programmeur possède un type
bien défini à l'exécution, qui n'a pas besoin d'être
déclaré à l'avance.

 Python est un langage inter-opérable (avec C


Cython, Java Jython, C++, Fortran F2Py…)
S.Darragi
Caractéristiques (suite)
12
 Python gère ses ressources (mémoire, descripteurs
de fichiers...) sans intervention du programmeur, par
un mécanisme de comptage de références, il
intègre un système de gestion de mémoire
automatique (ramasse miette)

 Python intègre, comme Java ou les versions récentes


de C++, un système d'exceptions, permettant de
simplifier considérablement la gestion des erreurs:
Lorsqu'une exception se produit, l'exécution normale
du programme est interrompue et l'exception est
traitée !!
 Multi paradigmes, supportant les principaux styles
de programmation :impératif, procédural, orienté
objet...
S.Darragi
Caractéristiques (suite)
13
 Evolutif Python est un langage qui continue à
évoluer, grâce à une communauté d’utilisateurs
très actifs

 Langage polyvalent :Nous pouvons presque tout


faire avec Python grâce à ses bibliothèques variées

 Utilisé par de grands acteurs dans le monde: La


NASA, Google, Youtube, Mozilla…

 De plus en plus utilisé dans la recherche,


l’enseignement et l’industrie

S.Darragi
Domaines d’applications
14

• Python, est un langage de programmation de plus


en plus populaire utilisé entre autres:
• WEB: google (pure Python et Django), youtube,
mozilla, yahoo, ebay (Plone), Nokia (Plone)
• Scientiphique: la NASA (pure Python et Plone),
La CIA (Plone), CBS (Zope)… la liste est bien
trop longue.
• L’enseignement et la recherche principalement
dans plusieurs pays
*Plone est un système de gestion de contenu Web libre et Zope est
un serveur d'applications web orienté objet tous les deux écrits avec
Python
S.Darragi
Quel Environnement de développement intégré IDE choisir ?
Quelle version ?
15
Plusieurs IDE sont disponibles
• IDLE : IDLE est un environnement de développement intégré
fourni avec Python (bon choix pour débutant).
• IDLE propose un certain nombre d'outils :
• un éditeur de texte (pour l’écriture de script) avec une
coloration syntaxique, une indentation automatique et
l’autocomplétion.
• un interpréteur (pour exécuter le programme)
• un débogueur (pour tester le programme)
• Le plus populaire 23% des utilisateurs de python
• Il existe d'autres IDE pour Python : Eclipse/Pydev
(17,31%), NetBeans, Spyder, Eric...
• Pour les non débutants d’autres IDE complet : winPython ,
anaconda V3, Python(x,y), Pyzo..
• Installer la Version 3.x
• Pour de plus amples informations veulliez consultez les pages :
• http://enacit1.epfl.ch/introduction-python/outils-python.html
• http://www.developpez.net/forums/d689735/autres-langages/python-zope/edi-rad/edi-
utilisez-vos-programmes-python/

S.Darragi
Installation
16

 Sous Windows: pour installer Python avec


l'environnement de développement IDLE, il
suffit de télécharger puis d'exécuter le
fichier d'installation qui se trouve sur le site
officiel :
https://www.python.org/downloads/windows
 Une fois installé, vous pouvez lancer IDLE en
allant dans :
Démarrer → Programmes → Python → IDLE
(Python GUI)
 Pour installer Anaconda consulter le lien
suivant: http://continuum.io/downloads
S.Darragi
Environnement – IDLE Python 3.X
17

S.Darragi
IDLE (suite)
18

S.Darragi
19

 Cliquez sur “Next >”.


 Python 3 est à présent installé.

S.Darragi
Installation Python Version 3.x
Une fois installé Python peut être utilisé en deux modes mode
intéractif ou en mode script 20

Image extraite du cours de Jean-Luc Charles, Eric Ducasse, Art et Métiers Paris Tech

S.Darragi
Python IDLE Mode Intéractif
21

S.Darragi
Mode interactif
Les instructions tapées sont exécutées directement par l’interpréteur
python, on l ’appelle aussi le mode calculatrice
22
!

S.Darragi
Mode script
23

Une nouvelle fenêtre s’ouvre, vous écrivez votre code Python enregistrer le tout
dans un fichier d’extension.py

S.Darragi
Mode script
24

Exécution

S.Darragi
Autre Environnement Python
Pycharm
25

• Enregistrez le programme d’installation.


• Lancez le programme d’installation qui vient
d’être téléchargé, et cliquer sur “Exécuter” lors
de l’avertissement de sécurité.

S.Darragi
Pycharm - Intallation
26

Etape II

Etape I

Etape III
Etape IV

S.Darragi
Pycharm - Intallation
27

• Cliquez sur “Finish” pour terminer


l’installation.
• Lancez PyCharm à l’aide du raccourci sur le
bureau (ou par le menu Démarrer).
• Comme il s’agit du premier lancement de
PyCharm, il faut procéder à sa configuration.

S.Darragi
Environnement Pycharm
28

Une fois configuré (voir complément d’installation de pycharm) une fenêtre


semblable à celle-ci est prête

S.Darragi
Environnement Pyzo
29

S.Darragi
Utilisation de l’aide
30

L’utilisation de l’aide en ligne se fait par la


commande help(identificateur)
 Exemple :
>>>help(int)
Help on class int in module builtins:

class int(object)
| int(x=0) -> integer
| int(x, base=10) -> integer
….
Methods defined here:
|
| __abs__(...)
| x.__abs__() <==> abs(x)
|
| __add__(...)
| x.__add__(y) <==> x+y
|
| __and__(...)
| x.__and__(y) <==> x&y
|
| __bool__(...)
| x.__bool__() <==> x != 0
S.Darragi
Modules et Import
31

Python dispose d’un


ensemble de modules Bibliothèque externe
internes mais aussi en
fonction de vos Bibiothèques
numpy stantdard offrant
besoins plusieurs plusieurs modules
modules existent OS , SYS, math,
téléchargeables sur le scipy
turtle, sqilte3,
web que vous pouvez tkinter ….
rajouter à votre Le Noyau
environnement de Python
développement matplotlib
Python
Pïllow

S.Darragi
Import de modules
32
Trois manières d’import de modules (avantages/inconvénients)
 1 ère manière
>>>import math
>>>dir(math)
['__doc__', '__name__', '__package__', 'acos', 'acosh', 'asin', 'asinh',
'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos',………, 'pi', 'pow',
'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc']
>>> math.ceil(7.8989) #partie entière supérieur
8
>>> math.floor(7.8989) #partie entière inférieur
7
>>>help(math.ceil)
Help on built-in function ceil in module math:

ceil(...)
ceil(x)
Return the ceiling of x as an int.
This is the smallest integral value >= x.
S.Darragi
Import de modules
33
2eme manière Utilisation d’un alias
>>>import math as m
>>>dir(m)
['__doc__', '__name__', '__package__', 'acos',
'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh',
'ceil', 'copysign', 'cos',………, 'pi', 'pow',
'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh',
'trunc']
>>> m.sqrt(2)
1.4142135623730951
>>> m.tan(m.pi)
-1.2246467991473532e-16
S.Darragi
Import de modules
34
3eme Manière : Importation de toutes les fonctions d’un
module
>>>from math import *
>>>dir(math)
Erreur
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
dir(math)
NameError: name 'math' is not defined
Mais les fonctions du module sont directement accessibles
>>>sqrt(2)
1.4142135623730951
>>> help(abs)
Help on built-in function abs in module builtins:
abs(...)
abs(number) -> number

Return the absolute value of the argument.

S.Darragi
Import de modules (suite)
35
La troisième manière représente l’avantage
d’accéder directement aux fonctions mais
représente également l’inconvénient
d’encombrement de l’espace de noms réservé et la
possibilité de conflit entre deux fonctions ayant le
même identificateur provenant de deux modules
différents !!!
Exemple
>>>from numpy import *
>>> from math import *
Les deux contiennent la fonction sqrt , l’une définie
pour les réels l’autre sur les tableaux! Laquelle
sera utilisée ????

S.Darragi
Modules courants
36
 sys: passage d’arguments, gestion de l’entrée/sortie standard
etc...
 os: dialogue avec le système d’exploitation.
 math: fonctions et constantes mathématiques de base (sin, cos,
exp, pi...).
 random : génération de nombres aléatoires.
 time : permet d’accéder aux fonctions gérant le temps.
 urllib : permet de récupérer des données sur internet depuis
python.
 re : gestion des expressions régulières.
 numpy, scipy: modules incontournables du calcul scientifique
 Matplotlib : traçage de courbes
 Tkinter : interface graphique
S.Darragi
37

La vie est comme une


bicyclette. Pour garder
l’équilibre il faut avancer
Albert Einstein
Des Questions ?

S.Darragi

Vous aimerez peut-être aussi