SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Langage Python
Aziz DAROUICHI
Plan
 Bref historique
 Principales caractéristiques de Python
 Choix de Python
 Interpréteur de commandes Python
 Variables
 Les types de données en Python
 Python et le typage dynamique
 Opérateurs et expressions
 Fonctions mathématiques : le module math
 Commentaires
 Fonctions standards d’entrée/ sortie
 Structures conditionnelles
 Structures répétitives (boucles)
 Branchement inconditionnel
 Références
Chapitre 1: Introduction à Python
Bref historique
 1989: Le langage Python a été développé aux Pays-Bas par Guido Von
Rossum.
 1991: La première version est sortie
 2001: Python Software Foundation est créée
 19/12/2017: Sortie de la version: Python 3.6.4
 04/02/2018: Sortie des versions: Python 3.5.5 et Python 3.4.8
 02/08/2018: Sortie des versions: Python 3.5.6 et Python 3.4.9
 20/10/2018: Sortie des versions: Python 3.7.1 et Python 3.6.7
 24/12/2018: Dernières versions: Python 3.7.2 et Python 3.6.8
 Site officiel : www.python.org
Principales caractéristiques de Python
 Langage Open Source: libre et gratuit.
 Portable : le même code source peut être exécuté sous tous les
systèmes d’exploitation (Windows, linux, Mac OS, . . . ).
 Simplicité du langage : Syntaxe claire et cohérente.
 Langage Script: Python fait partie des langages script
interprétés contrairement à Java, au C/C++ qui sont des
langages compilés. Ce qui lui permet d’être plus rapide au
développement, de comporter moins de ligne (50% de moins).
Par contre, Il est plus lent à l’exécution.
 Extensible: Au-delà de la multitude de librairies et de modules
déjà existent, il est possible d’en développer pour ses propres
besoins.
4
Principales caractéristiques de Python
 Modulable: Python permet de séparer les programmes en
modules qui peuvent être réutilisés dans d'autres programmes
en Python.
 Syntaxe aisée: La syntaxe de Python est très simple et,
combinée à de nombreux types de données évolués (comme les
listes, dictionnaires, tuples,...), ce qui conduit à des programmes
à la fois très compacts et très lisibles. De plus, Python ne
nécessite aucune déclaration de variable. Les variables sont
créées lors de leur première assignation.
 Peu d’erreurs…
Tout comme Java, Python possède un système d’exception qui
facilite la gestion des erreurs.
5
Principales caractéristiques de Python
 Python est de plus en plus utilisé dans de nombreux domaines :
◦ Wikipedia, Google, Yahoo,...
◦ Pour le calcul scientifique (NASA,…)
◦ Facebook, Instagram, Amazon, New York times,...
◦ Data analysis (analyse de données)
◦ Machine learning
◦ Deep learning
◦ Data science
◦ Big data
◦ Robotique
◦ …
6
Principales caractéristiques de Python
 Python est orienté objet .
 Langage interprété.
 Python est dynamique:
◦ pas de déclaration de type des variables.
◦ Le type d’une variable peut changer.
 Deux modes d’exécution:
◦ À l’aide de l’interpréteur
◦ Par appel au compilateur Python
 ...
7
Choix de Python
Normalized Comparison 2014
Choix de Python
Normalized Comparison 2015 Normalized Comparison 2016
Choix de Python
Normalized Comparison 2017 Normalized Comparison 2018
Choix de Python
TIOBE Index for August 2016
Choix de Python
TIOBE Index for September 2017
Choix de Python
TIOBE Index for August 2018
Interpréteur de commandes Python
Lancer Python
 Démarrer>Tous les programmes>Python 3.7>Python (Command Line)
 Démarrer, puis cliquer sur Exécuter. Dans la fenêtre qui s'affiche, tapez
simplement « py »
 Windows + R puis saisir py
Fermer Python
 Taper « exit() » puis appuyer sur la touche Entrée.
Variables
 Une variable est un nom donné à une zone mémoire pour
stocker une valeur.
 Le nom d’une variable (Identificateur) doit respecter les règles
suivantes :
1. Il est formé d’une suite de lettres, de chiffres et de ‘_’
(“underscore”). Le premier caractère de cette suite ne peut pas
être un chiffre;
2. Les lettres accentuées sont interdites ;
3. Le langage Python est sensible à la casse. L'identifiant ≪abc≫
est différent de ≪ ABC ≫ ou ≪ aBc ≫.
4. Le nom d’une variable doit être différent des mots réservés du
langage Python.
Les mots réservés de Python
 Les mots clés réservés du langage ne peuvent pas être utilisés
comme nom de variables. La version 3 de Python compte 33
mots :
and del from None True
as elif global nonlocal try
assert else if not while
break except import or with
class False in pass yield
continue finally is raise
def for lambda return
NB: Les mots réservés du langage Python doivent être écrits en minuscules.
Variables
 Affectation:
 nomDeLaVariable = valeur.
 Convention de nommage:
 La variable en minuscules et à remplacer les espaces
éventuels par un espace souligné « _ ».
Exemple: mon_age
 Une autre convention utilisée consiste à passer en
majuscule le premier caractère de chaque mot, à l'exception
du premier mot constituant la variable.
Exemple: monAge
Les types de données en Python
Il existe différents types de variable en Python:
 int : les nombres entiers : « entiers relatifs »
 float: les nombres flottants: « nombre à virgule »
 bool : les booléens : une variable de ce type ne peut prendre
que 2 valeurs True ou False,
Les types de données en Python
 str: Les chaînes de caractères (string)
 On peut écrire une chaîne de caractères de différentes
façons :
• entre guillemets ("une chaîne de caractères") ;
• entre apostrophes ('une chaîne de caractères') ;
• entre triples guillemets ("""une chaîne de caractères""").
Les types de données en Python
 complex: les nombres complexes
 Les complexes sont définis classiquement en notation
cartésienne. La partie réelle et la partie imaginaire (j) sont de
type flottant.
 Exemple:
• 1+2j1+2j
• (1.5+2.5j).real1.5
• (1.5+2.5j).imag2.5
• (1+2j).conjugate( )1-2j
Python et le typage dynamique
 En Python, le type de la variable est déterminé au moment de
l'affectation.
 Le type d'une variable peut changer au cours du temps. Ceci
constitue une particularité intéressante de Python : le typage
des variables sous Python est un typage dynamique.
 On peut connaitre le type courant d'une variable avec la
fonction type: type(nomDeVariable)
>>>a = - 5
>>> type(a)
<class ’int’>
Opérateurs et expressions
Opérateurs arithmétiques
Opérateur Description Exemple Résultat
+ addition 5 + 2 7
- soustraction 5 - 2 3
* multiplication 5 * 2 10
** exposant 5**2 25
/ division réelle 5/2 2. 5
// division entière 5//2 2
% modulo 5%2 1
Opérateurs et expressions
Opérateurs de comparaison
Opérateur Description Exemple Résultat
== Égalité 3==3 True
!= Différence 3!=3 False
> Strictement supérieur à 3>3 False
< Strictement inférieur à 3<5 True
>= Supérieur ou égal 3>=3 True
<= Inférieur ou égal 3<=2 False
Opérateurs et expressions
Opérateurs logiques
Opérateur Description
and Vrai si les deux arguments sont vrais, faux sinon
or Vrai si au moins l’un des deux arguments est
vrai, faux sinon
not Négation logique
Opérateurs et expressions
Opérateur Description
is, is not Test d’identité
in , not in Appartenance à une séquence
Fonctions mathématiques :
le module math
 Il est possible d'utiliser les fonctions mathématiques usuelles
(sin, cos, exp, ln,...) et les constantes (π, e, ...) en Python.
 Cependant ces fonctions et constantes ne sont pas directement
accessibles au démarrage de Python : elles sont définies dans un
« module » dédié, nommé « math », que l’on charge en mémoire
pour les utiliser.
Fonctions mathématiques :
le module math
 Il faut les importer dans la session en cours, via l'une des syntaxes
suivantes :
 importation des seuls éléments nécessaires :
>>> from math import cos, pi
>>> cos(pi)
-1.0
 importation de tout le module:
>>> from math import *
>>> cos(pi)
-1.0
Commentaires
 Il est très important de bien commenter les programmes.
 Insérer des commentaires dans un programme permet d’expliquer
(en langue naturelle) le comportement du programme.
 En Python, un commentaire est un texte précédé du symbole #
(tout ce qui suit le # sur la même ligne est un commentaire).
 Ce texte n’est pas interprété.
x = 15 # on affecte la valeur 15 à la variable x
Fonctions standards d’entrée/ sortie
 Saisie au clavier: input
 Affichage à l’écran: print
29
Fonction input()
 Exemple:
30
>>> prenom=input("Entrer votre prénom :")
Entrer votre prénom :Mohamed
>>> prenom
'Mohamed'
 La fonction input() renvoie toujours une chaîne de
caractères. Afin de récupérer un nombre, il est nécessaire de
procéder à une conversion .
 La fonction input() accepte un paramètre facultatif : le
message à afficher à l'utilisateur.
Fonction input()
31
>>> a=input("Entrer un nombre entier : ")
Entrer un nombre entier : 7
>>> print(3*a)
777
>>> a=int(a) #conversion d’un type str en type int
>>> print(3*a)
21
>>>
 La ligne a=int(a) permet de convertir le caractère ‘7’ en un nombre
entier égal à 7.
 On peut aussi écrire plus rapidement :
a=int(input("Entrer un nombre entier : "))
 La fonction float( ) convertit la chaîne de caractères en float.
Fonction print()
 L'utilisation de la fonction print() entraîne un retour chariot
(passage à la ligne) obligatoire. On peut, si on ne veut pas
passer à la ligne après l’écriture, ajouter l’option end=" "
32
print (‘Bonjour')
print ("Cela fonctionne aussi avec des guillemets")
Bonjour
Cela fonctionne aussi avec des guillemets
Fonction print()
x=5
print ("x = ",end=" ")
print (x)
Output : x = 5
33
print ("Bonjour. ", end=" ")
print ("Je ne suis pas à la ligne ! ")
Bonjour. Je ne suis pas à la ligne !
Exemple 1 :
Exemple 2 :
Structures de contrôle
 Structures conditionnelles
 Structures répétitives (boucles)
 Branchement inconditionnel
34
Test simple: l’instruction if
if condition :
bloc d’instructions
35
Si la condition est vraie le bloc d’instructions est exécuté, sinon on fait rien.
Syntaxe:
l’instruction if
36
X=float(input("saisir la valeur de X :"))
Val = X
if X < 0:
Val = -X
print("valeur absolue de ", X ,"=", Val)
Exemple: calcul de la valeur absolue d'un nombre réel.
Test avec alternative: if ... else
if condition:
bloc d’instructions 1
else :
bloc d’instructions 2
37
Syntaxe:
Le « bloc d’instructions 1 » est exécuté si la condition
est vraie. Sinon, c’est le « bloc d’instructions 2 » qui est
exécuté.
If … else
38
x = float(input("Saisir la valeur de x?"))
y = float(input("Saisir la valeur de y?"))
if x<y:
M=y
else:
M=x
print("le maximum de x et y est :",M)
Exemple : maximum de deux nombres réels
Tests imbriqués
39
 Il existe une instruction plus efficace, qui combine le else et le
if : « elif »
 L’instruction « elif » permet d'avoir le même résultat avec un
code plus compact.
if ... elif ... else
if condition1:
Instruction(s) si la condition1 est vérifiée
elif condition2:
Instruction(s) si la condition2 est vérifiée
elif condition3:
Instruction(s) si la condition3 est vérifiée
else:
Instruction(s) si aucune des 3 conditions n’est vérifiée
40
Syntaxe:
if ... elif ... else
41
a = int(input(" Saisir un entier:"))
if a > 0 :
print(a," est positif")
elif a < 0 :
print(a," est negatif")
else:
print(a," est nul" )
Exemple 1: signe d’un nombre entier
Conditions composées
 La condition peut s’écrire avec des opérateurs
logiques, par exemple: (m >=0 and m <= 20).
 Les lois de De Morgan sont fréquemment utilisées
pour simplifier les tests:
1) not (A or B) == (not A) and (not B)
2) not (A and B) == (not A) or (not B)
 Exemple:
not(x >= 0 and x <10) == (x < 0 or x >= 10)
42
Boucle while
43
Syntaxe:
while condition:
bloc d’instructions
 Les instructions doivent être indentées par rapport au mot while.
Boucle for
for variable in range(debut, fin, pas):
instructions
44
Syntaxe:
 Les instructions doivent être indentées par rapport au mot for.
Boucle for
for element in sequence:
instructions
45
 Voici la syntaxe de la boucle for pour parcourir une
séquence:
 element est une variable créée par la boucle for, ce n'est pas à
vous de l'instancier.
 Elle prend successivement chacune des valeurs figurant dans la
séquence parcourue.
Instruction break
 L’instruction break peut être employée à l’intérieur des boucles.
 Elle permet tout simplement d'interrompre le déroulement d'une
boucle et de passer à la première instruction qui suit la boucle.
 En cas de boucles imbriquées, l’instruction break fait sortir de la
boucle la plus interne.
 Fonctionnement :
...
while cond:
...
break
...
... 46
Branchement inconditionnel
Instruction continue
 Retourne au début de la boucle en sautant les instructions qui la
suivent.
 Fonctionnement
...
...
while cond :
...
continue
...
...
47
Instruction pass
 « pass » ne fait rien du tout mais, comme on ne peut avoir une
expression qui n’est suivie de rien, « pass » peut être utilisé
pour combler ce vide.
48
Références
1. https://openclassrooms.com/fr/courses/235344-apprenez-a-
programmer-en-python
2. http://apprendre-python.com/
3. https://www.tutorialspoint.com/python/
49

Weitere ähnliche Inhalte

Was ist angesagt?

FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptxLamissGhoul1
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonAbdoulaye Dieng
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielleECAM Brussels Engineering School
 
Cours de programmation en c
Cours de programmation en cCours de programmation en c
Cours de programmation en cbenouini rachid
 
Présentation python
Présentation pythonPrésentation python
Présentation pythonSarah
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French CourseHaytam EL YOUSSFI
 
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniShellmates
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdfsalah fenni
 
Exercices sur-python-turtle-corrige
Exercices sur-python-turtle-corrigeExercices sur-python-turtle-corrige
Exercices sur-python-turtle-corrigeWajihBaghdadi1
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en PythonABDESSELAM ARROU
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfslimyaich3
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)rezgui mohamed
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithmebadr zaimi
 
Cours langage c
Cours langage cCours langage c
Cours langage ccoursuniv
 

Was ist angesagt? (20)

FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptx
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
 
Langage C#
Langage C#Langage C#
Langage C#
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielle
 
Cours de programmation en c
Cours de programmation en cCours de programmation en c
Cours de programmation en c
 
Présentation python
Présentation pythonPrésentation python
Présentation python
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French Course
 
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El Hassani
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdf
 
Exercices sur-python-turtle-corrige
Exercices sur-python-turtle-corrigeExercices sur-python-turtle-corrige
Exercices sur-python-turtle-corrige
 
Python.pptx
Python.pptxPython.pptx
Python.pptx
 
Python avancé : Classe et objet
Python avancé : Classe et objetPython avancé : Classe et objet
Python avancé : Classe et objet
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en Python
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)
 
Les listes en Python
Les listes en PythonLes listes en Python
Les listes en Python
 
Python avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiersPython avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiers
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithme
 
Cours langage c
Cours langage cCours langage c
Cours langage c
 
Programmation en C
Programmation en CProgrammation en C
Programmation en C
 

Ähnlich wie Chapitre1: Langage Python

01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdfMARYAM510573
 
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES (2022-2023)
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES  (2022-2023)IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES  (2022-2023)
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES (2022-2023)Tunisie collège
 
M2 INAE introduction python.pdf
M2 INAE introduction python.pdfM2 INAE introduction python.pdf
M2 INAE introduction python.pdfHajer Amdouni
 
Introduction au langage python notion de base
Introduction au langage python notion de baseIntroduction au langage python notion de base
Introduction au langage python notion de basemohamedAitomar1
 
Introduction au langage python (Notion de base)
Introduction au langage python (Notion de base)Introduction au langage python (Notion de base)
Introduction au langage python (Notion de base)mohamedAitomar1
 
Formation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxFormation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxbetalab
 
Chap1 Introduction à python
Chap1 Introduction à pythonChap1 Introduction à python
Chap1 Introduction à pythonMariem ZAOUALI
 
Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptxolfaharrabi2
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfHailisara
 
cours fortran.pptx
cours fortran.pptxcours fortran.pptx
cours fortran.pptxMED B
 
Support Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptxSupport Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptxbpmana
 
Cours programmation en langage C.pdf
Cours  programmation  en  langage  C.pdfCours  programmation  en  langage  C.pdf
Cours programmation en langage C.pdfkhalidmoussaid4
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfFadouaBouafifSamoud
 
Chapitre 1 (algorithme)
Chapitre 1 (algorithme)Chapitre 1 (algorithme)
Chapitre 1 (algorithme)mahbouba
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Aziz Darouichi
 
02 Spécificité du C++ COURS SYS SYSSSSSS
02 Spécificité du C++  COURS SYS SYSSSSSS02 Spécificité du C++  COURS SYS SYSSSSSS
02 Spécificité du C++ COURS SYS SYSSSSSSAyoubElmrabet6
 

Ähnlich wie Chapitre1: Langage Python (20)

01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf
 
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES (2022-2023)
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES  (2022-2023)IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES  (2022-2023)
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES (2022-2023)
 
M2 INAE introduction python.pdf
M2 INAE introduction python.pdfM2 INAE introduction python.pdf
M2 INAE introduction python.pdf
 
Introduction au langage python notion de base
Introduction au langage python notion de baseIntroduction au langage python notion de base
Introduction au langage python notion de base
 
Introduction au langage python (Notion de base)
Introduction au langage python (Notion de base)Introduction au langage python (Notion de base)
Introduction au langage python (Notion de base)
 
Formation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxFormation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptx
 
Chap1 Introduction à python
Chap1 Introduction à pythonChap1 Introduction à python
Chap1 Introduction à python
 
Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptx
 
Formation python
Formation pythonFormation python
Formation python
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdf
 
Langage C
Langage CLangage C
Langage C
 
cours fortran.pptx
cours fortran.pptxcours fortran.pptx
cours fortran.pptx
 
Python chapitre 1.pdf
Python chapitre 1.pdfPython chapitre 1.pdf
Python chapitre 1.pdf
 
Ch02
Ch02Ch02
Ch02
 
Support Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptxSupport Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptx
 
Cours programmation en langage C.pdf
Cours  programmation  en  langage  C.pdfCours  programmation  en  langage  C.pdf
Cours programmation en langage C.pdf
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdf
 
Chapitre 1 (algorithme)
Chapitre 1 (algorithme)Chapitre 1 (algorithme)
Chapitre 1 (algorithme)
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
02 Spécificité du C++ COURS SYS SYSSSSSS
02 Spécificité du C++  COURS SYS SYSSSSSS02 Spécificité du C++  COURS SYS SYSSSSSS
02 Spécificité du C++ COURS SYS SYSSSSSS
 

Mehr von Aziz Darouichi

Chapitre 2: String en Java
Chapitre 2:  String en JavaChapitre 2:  String en Java
Chapitre 2: String en JavaAziz Darouichi
 
Chapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en JavaChapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en JavaAziz Darouichi
 
Chapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En JavaChapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En JavaAziz Darouichi
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfacesAziz Darouichi
 
Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019Aziz Darouichi
 
Chapitre3TableauxEnCppV2019
Chapitre3TableauxEnCppV2019Chapitre3TableauxEnCppV2019
Chapitre3TableauxEnCppV2019Aziz Darouichi
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objetsAziz Darouichi
 
Chapitre6: Surcharge des opérateurs
Chapitre6:  Surcharge des opérateursChapitre6:  Surcharge des opérateurs
Chapitre6: Surcharge des opérateursAziz Darouichi
 
Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Aziz Darouichi
 
Cours Visual Basic.NET
Cours Visual Basic.NETCours Visual Basic.NET
Cours Visual Basic.NETAziz Darouichi
 

Mehr von Aziz Darouichi (16)

Chapitre 2: String en Java
Chapitre 2:  String en JavaChapitre 2:  String en Java
Chapitre 2: String en Java
 
Chapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en JavaChapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en Java
 
Chapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En JavaChapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En Java
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
 
Partie3BI-DW-OLAP2019
Partie3BI-DW-OLAP2019Partie3BI-DW-OLAP2019
Partie3BI-DW-OLAP2019
 
Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019
 
Chapitre3TableauxEnCppV2019
Chapitre3TableauxEnCppV2019Chapitre3TableauxEnCppV2019
Chapitre3TableauxEnCppV2019
 
Partie2BI-DW2019
Partie2BI-DW2019Partie2BI-DW2019
Partie2BI-DW2019
 
Partie1BI-DW2019
Partie1BI-DW2019Partie1BI-DW2019
Partie1BI-DW2019
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objets
 
Chapitre6: Surcharge des opérateurs
Chapitre6:  Surcharge des opérateursChapitre6:  Surcharge des opérateurs
Chapitre6: Surcharge des opérateurs
 
Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références
 
Cours Visual Basic.NET
Cours Visual Basic.NETCours Visual Basic.NET
Cours Visual Basic.NET
 
Chapitre3 tableauxcpp
Chapitre3 tableauxcppChapitre3 tableauxcpp
Chapitre3 tableauxcpp
 
Chap2fonctionscpp
Chap2fonctionscppChap2fonctionscpp
Chap2fonctionscpp
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 

Chapitre1: Langage Python

  • 2. Plan  Bref historique  Principales caractéristiques de Python  Choix de Python  Interpréteur de commandes Python  Variables  Les types de données en Python  Python et le typage dynamique  Opérateurs et expressions  Fonctions mathématiques : le module math  Commentaires  Fonctions standards d’entrée/ sortie  Structures conditionnelles  Structures répétitives (boucles)  Branchement inconditionnel  Références Chapitre 1: Introduction à Python
  • 3. Bref historique  1989: Le langage Python a été développé aux Pays-Bas par Guido Von Rossum.  1991: La première version est sortie  2001: Python Software Foundation est créée  19/12/2017: Sortie de la version: Python 3.6.4  04/02/2018: Sortie des versions: Python 3.5.5 et Python 3.4.8  02/08/2018: Sortie des versions: Python 3.5.6 et Python 3.4.9  20/10/2018: Sortie des versions: Python 3.7.1 et Python 3.6.7  24/12/2018: Dernières versions: Python 3.7.2 et Python 3.6.8  Site officiel : www.python.org
  • 4. Principales caractéristiques de Python  Langage Open Source: libre et gratuit.  Portable : le même code source peut être exécuté sous tous les systèmes d’exploitation (Windows, linux, Mac OS, . . . ).  Simplicité du langage : Syntaxe claire et cohérente.  Langage Script: Python fait partie des langages script interprétés contrairement à Java, au C/C++ qui sont des langages compilés. Ce qui lui permet d’être plus rapide au développement, de comporter moins de ligne (50% de moins). Par contre, Il est plus lent à l’exécution.  Extensible: Au-delà de la multitude de librairies et de modules déjà existent, il est possible d’en développer pour ses propres besoins. 4
  • 5. Principales caractéristiques de Python  Modulable: Python permet de séparer les programmes en modules qui peuvent être réutilisés dans d'autres programmes en Python.  Syntaxe aisée: La syntaxe de Python est très simple et, combinée à de nombreux types de données évolués (comme les listes, dictionnaires, tuples,...), ce qui conduit à des programmes à la fois très compacts et très lisibles. De plus, Python ne nécessite aucune déclaration de variable. Les variables sont créées lors de leur première assignation.  Peu d’erreurs… Tout comme Java, Python possède un système d’exception qui facilite la gestion des erreurs. 5
  • 6. Principales caractéristiques de Python  Python est de plus en plus utilisé dans de nombreux domaines : ◦ Wikipedia, Google, Yahoo,... ◦ Pour le calcul scientifique (NASA,…) ◦ Facebook, Instagram, Amazon, New York times,... ◦ Data analysis (analyse de données) ◦ Machine learning ◦ Deep learning ◦ Data science ◦ Big data ◦ Robotique ◦ … 6
  • 7. Principales caractéristiques de Python  Python est orienté objet .  Langage interprété.  Python est dynamique: ◦ pas de déclaration de type des variables. ◦ Le type d’une variable peut changer.  Deux modes d’exécution: ◦ À l’aide de l’interpréteur ◦ Par appel au compilateur Python  ... 7
  • 8. Choix de Python Normalized Comparison 2014
  • 9. Choix de Python Normalized Comparison 2015 Normalized Comparison 2016
  • 10. Choix de Python Normalized Comparison 2017 Normalized Comparison 2018
  • 11. Choix de Python TIOBE Index for August 2016
  • 12. Choix de Python TIOBE Index for September 2017
  • 13. Choix de Python TIOBE Index for August 2018
  • 14. Interpréteur de commandes Python Lancer Python  Démarrer>Tous les programmes>Python 3.7>Python (Command Line)  Démarrer, puis cliquer sur Exécuter. Dans la fenêtre qui s'affiche, tapez simplement « py »  Windows + R puis saisir py Fermer Python  Taper « exit() » puis appuyer sur la touche Entrée.
  • 15. Variables  Une variable est un nom donné à une zone mémoire pour stocker une valeur.  Le nom d’une variable (Identificateur) doit respecter les règles suivantes : 1. Il est formé d’une suite de lettres, de chiffres et de ‘_’ (“underscore”). Le premier caractère de cette suite ne peut pas être un chiffre; 2. Les lettres accentuées sont interdites ; 3. Le langage Python est sensible à la casse. L'identifiant ≪abc≫ est différent de ≪ ABC ≫ ou ≪ aBc ≫. 4. Le nom d’une variable doit être différent des mots réservés du langage Python.
  • 16. Les mots réservés de Python  Les mots clés réservés du langage ne peuvent pas être utilisés comme nom de variables. La version 3 de Python compte 33 mots : and del from None True as elif global nonlocal try assert else if not while break except import or with class False in pass yield continue finally is raise def for lambda return NB: Les mots réservés du langage Python doivent être écrits en minuscules.
  • 17. Variables  Affectation:  nomDeLaVariable = valeur.  Convention de nommage:  La variable en minuscules et à remplacer les espaces éventuels par un espace souligné « _ ». Exemple: mon_age  Une autre convention utilisée consiste à passer en majuscule le premier caractère de chaque mot, à l'exception du premier mot constituant la variable. Exemple: monAge
  • 18. Les types de données en Python Il existe différents types de variable en Python:  int : les nombres entiers : « entiers relatifs »  float: les nombres flottants: « nombre à virgule »  bool : les booléens : une variable de ce type ne peut prendre que 2 valeurs True ou False,
  • 19. Les types de données en Python  str: Les chaînes de caractères (string)  On peut écrire une chaîne de caractères de différentes façons : • entre guillemets ("une chaîne de caractères") ; • entre apostrophes ('une chaîne de caractères') ; • entre triples guillemets ("""une chaîne de caractères""").
  • 20. Les types de données en Python  complex: les nombres complexes  Les complexes sont définis classiquement en notation cartésienne. La partie réelle et la partie imaginaire (j) sont de type flottant.  Exemple: • 1+2j1+2j • (1.5+2.5j).real1.5 • (1.5+2.5j).imag2.5 • (1+2j).conjugate( )1-2j
  • 21. Python et le typage dynamique  En Python, le type de la variable est déterminé au moment de l'affectation.  Le type d'une variable peut changer au cours du temps. Ceci constitue une particularité intéressante de Python : le typage des variables sous Python est un typage dynamique.  On peut connaitre le type courant d'une variable avec la fonction type: type(nomDeVariable) >>>a = - 5 >>> type(a) <class ’int’>
  • 22. Opérateurs et expressions Opérateurs arithmétiques Opérateur Description Exemple Résultat + addition 5 + 2 7 - soustraction 5 - 2 3 * multiplication 5 * 2 10 ** exposant 5**2 25 / division réelle 5/2 2. 5 // division entière 5//2 2 % modulo 5%2 1
  • 23. Opérateurs et expressions Opérateurs de comparaison Opérateur Description Exemple Résultat == Égalité 3==3 True != Différence 3!=3 False > Strictement supérieur à 3>3 False < Strictement inférieur à 3<5 True >= Supérieur ou égal 3>=3 True <= Inférieur ou égal 3<=2 False
  • 24. Opérateurs et expressions Opérateurs logiques Opérateur Description and Vrai si les deux arguments sont vrais, faux sinon or Vrai si au moins l’un des deux arguments est vrai, faux sinon not Négation logique
  • 25. Opérateurs et expressions Opérateur Description is, is not Test d’identité in , not in Appartenance à une séquence
  • 26. Fonctions mathématiques : le module math  Il est possible d'utiliser les fonctions mathématiques usuelles (sin, cos, exp, ln,...) et les constantes (π, e, ...) en Python.  Cependant ces fonctions et constantes ne sont pas directement accessibles au démarrage de Python : elles sont définies dans un « module » dédié, nommé « math », que l’on charge en mémoire pour les utiliser.
  • 27. Fonctions mathématiques : le module math  Il faut les importer dans la session en cours, via l'une des syntaxes suivantes :  importation des seuls éléments nécessaires : >>> from math import cos, pi >>> cos(pi) -1.0  importation de tout le module: >>> from math import * >>> cos(pi) -1.0
  • 28. Commentaires  Il est très important de bien commenter les programmes.  Insérer des commentaires dans un programme permet d’expliquer (en langue naturelle) le comportement du programme.  En Python, un commentaire est un texte précédé du symbole # (tout ce qui suit le # sur la même ligne est un commentaire).  Ce texte n’est pas interprété. x = 15 # on affecte la valeur 15 à la variable x
  • 29. Fonctions standards d’entrée/ sortie  Saisie au clavier: input  Affichage à l’écran: print 29
  • 30. Fonction input()  Exemple: 30 >>> prenom=input("Entrer votre prénom :") Entrer votre prénom :Mohamed >>> prenom 'Mohamed'  La fonction input() renvoie toujours une chaîne de caractères. Afin de récupérer un nombre, il est nécessaire de procéder à une conversion .  La fonction input() accepte un paramètre facultatif : le message à afficher à l'utilisateur.
  • 31. Fonction input() 31 >>> a=input("Entrer un nombre entier : ") Entrer un nombre entier : 7 >>> print(3*a) 777 >>> a=int(a) #conversion d’un type str en type int >>> print(3*a) 21 >>>  La ligne a=int(a) permet de convertir le caractère ‘7’ en un nombre entier égal à 7.  On peut aussi écrire plus rapidement : a=int(input("Entrer un nombre entier : "))  La fonction float( ) convertit la chaîne de caractères en float.
  • 32. Fonction print()  L'utilisation de la fonction print() entraîne un retour chariot (passage à la ligne) obligatoire. On peut, si on ne veut pas passer à la ligne après l’écriture, ajouter l’option end=" " 32 print (‘Bonjour') print ("Cela fonctionne aussi avec des guillemets") Bonjour Cela fonctionne aussi avec des guillemets
  • 33. Fonction print() x=5 print ("x = ",end=" ") print (x) Output : x = 5 33 print ("Bonjour. ", end=" ") print ("Je ne suis pas à la ligne ! ") Bonjour. Je ne suis pas à la ligne ! Exemple 1 : Exemple 2 :
  • 34. Structures de contrôle  Structures conditionnelles  Structures répétitives (boucles)  Branchement inconditionnel 34
  • 35. Test simple: l’instruction if if condition : bloc d’instructions 35 Si la condition est vraie le bloc d’instructions est exécuté, sinon on fait rien. Syntaxe:
  • 36. l’instruction if 36 X=float(input("saisir la valeur de X :")) Val = X if X < 0: Val = -X print("valeur absolue de ", X ,"=", Val) Exemple: calcul de la valeur absolue d'un nombre réel.
  • 37. Test avec alternative: if ... else if condition: bloc d’instructions 1 else : bloc d’instructions 2 37 Syntaxe: Le « bloc d’instructions 1 » est exécuté si la condition est vraie. Sinon, c’est le « bloc d’instructions 2 » qui est exécuté.
  • 38. If … else 38 x = float(input("Saisir la valeur de x?")) y = float(input("Saisir la valeur de y?")) if x<y: M=y else: M=x print("le maximum de x et y est :",M) Exemple : maximum de deux nombres réels
  • 39. Tests imbriqués 39  Il existe une instruction plus efficace, qui combine le else et le if : « elif »  L’instruction « elif » permet d'avoir le même résultat avec un code plus compact.
  • 40. if ... elif ... else if condition1: Instruction(s) si la condition1 est vérifiée elif condition2: Instruction(s) si la condition2 est vérifiée elif condition3: Instruction(s) si la condition3 est vérifiée else: Instruction(s) si aucune des 3 conditions n’est vérifiée 40 Syntaxe:
  • 41. if ... elif ... else 41 a = int(input(" Saisir un entier:")) if a > 0 : print(a," est positif") elif a < 0 : print(a," est negatif") else: print(a," est nul" ) Exemple 1: signe d’un nombre entier
  • 42. Conditions composées  La condition peut s’écrire avec des opérateurs logiques, par exemple: (m >=0 and m <= 20).  Les lois de De Morgan sont fréquemment utilisées pour simplifier les tests: 1) not (A or B) == (not A) and (not B) 2) not (A and B) == (not A) or (not B)  Exemple: not(x >= 0 and x <10) == (x < 0 or x >= 10) 42
  • 43. Boucle while 43 Syntaxe: while condition: bloc d’instructions  Les instructions doivent être indentées par rapport au mot while.
  • 44. Boucle for for variable in range(debut, fin, pas): instructions 44 Syntaxe:  Les instructions doivent être indentées par rapport au mot for.
  • 45. Boucle for for element in sequence: instructions 45  Voici la syntaxe de la boucle for pour parcourir une séquence:  element est une variable créée par la boucle for, ce n'est pas à vous de l'instancier.  Elle prend successivement chacune des valeurs figurant dans la séquence parcourue.
  • 46. Instruction break  L’instruction break peut être employée à l’intérieur des boucles.  Elle permet tout simplement d'interrompre le déroulement d'une boucle et de passer à la première instruction qui suit la boucle.  En cas de boucles imbriquées, l’instruction break fait sortir de la boucle la plus interne.  Fonctionnement : ... while cond: ... break ... ... 46 Branchement inconditionnel
  • 47. Instruction continue  Retourne au début de la boucle en sautant les instructions qui la suivent.  Fonctionnement ... ... while cond : ... continue ... ... 47
  • 48. Instruction pass  « pass » ne fait rien du tout mais, comme on ne peut avoir une expression qui n’est suivie de rien, « pass » peut être utilisé pour combler ce vide. 48