0% ont trouvé ce document utile (0 vote)
146 vues56 pages

Introduction au langage Python

Le document décrit le langage de programmation Python. Il introduit Python, ses propriétés comme étant portable, gratuit et orienté objet. Le document détaille ensuite les notions d'objets, de variables, de types et de structures de contrôle en Python.

Transféré par

diop2802anta
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
146 vues56 pages

Introduction au langage Python

Le document décrit le langage de programmation Python. Il introduit Python, ses propriétés comme étant portable, gratuit et orienté objet. Le document détaille ensuite les notions d'objets, de variables, de types et de structures de contrôle en Python.

Transféré par

diop2802anta
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Langage Python

Dr Ibrahima GAYE

École Supérieure Polytechnique


ESP

3 juin 2020

1 Dr I GAYE - ibou13@[Link] Langage Python


Outline

2 Dr I GAYE - ibou13@[Link] Langage Python


Introduction au langage python

Introduction (1)

Python
Python est un langage qui permet une programmation
modulaire et orientée objet. Python est développé depuis 1989
par Guido Van Rossum et de nombreux contributeurs
bénévoles.

3 Dr I GAYE - ibou13@[Link] Langage Python


Introduction au langage python

Introduction (2)

Propriétés (1)
Portable : Unix, MacOS, BeOS, NeXTStep, MS-DOS et
les différentes variantes de Windows.
Compilateur, baptisé JPython, est écrit en Java et génère
du bytecode Java.
Gratuit : mais peut être utiliser dans des projets
commerciaux
Syntaxe très simple et, combinée à des types de données
évolués (listes, dictionnaires,...) ; conséquence :
programme très compact et lisible
Pas de pointeurs explicites.

4 Dr I GAYE - ibou13@[Link] Langage Python


Introduction au langage python

Introduction (3)

Propriétés (2)
Orienté-objet : supporte l’héritage multiple et la surcharge
des opérateurs ; reprenant la terminologie de C++, toutes
les méthodes sont virtuelles.
Extensible : facilement l’interfacer avec des bibliothèques
C existantes. On peut aussi s’en servir comme d’un
langage d’extension pour des systèmes logiciels
complexes.
bibliothèque standard, et paquetages, donnent accès
aux services telsques les chaînes de caractères et les
expressions régulières, les services UNIX standard
(fichiers, pipes, signaux, sockets, threads...), les protocoles
Internet (Web, News, FTP, CGI, HTML...), la persistance et
bases de données, les interfaces graphiques.

5 Dr I GAYE - ibou13@[Link] Langage Python


Introduction au langage python

Introduction (4)

Propriétés (3)
Python continue à évoluer sans cesse en ne visant qu’à
améliorer ou perfectionner le produit. Présentement, nous
sommes à la version [Link]. Plus précisément, la version 3.8. La
version 2 de Python est désormais obsolète et cessera d’être
maintenue après le 1er janvier 2020.

6 Dr I GAYE - ibou13@[Link] Langage Python


Introduction au langage python

Introduction (5)

Types d’implémentation
CPython : Implémentation de base basé sur le langage C
ANSI
Jython : Implémentation permettant de mixer Python et
java dans la même JVM
IronPython : Implémentation permettant d’utiliser Python
pour [Link]
PyPy : Implémentation de Python en Python
CLPython : Implémentation de Python en Common Lisp

7 Dr I GAYE - ibou13@[Link] Langage Python


Objets sous python

Notion d’objets (1)

Variable (1)
Une variable est une zone de la mémoire de l’ordinateur
dans laquelle une valeur est stockée. Elle est définie par :
un identificateur (le nom de l’espace mémoire)
Son type (qui est implicite ; il est défini au moment de
l’initialisation)
Sa valeur
Note importante : sous Python une variable est déclarée
lors de son initialisation.

8 Dr I GAYE - ibou13@[Link] Langage Python


Objets sous python

Notion d’objets (2)

Variable (2)
Sous Python, les constantes sont toutes les valeurs
numériques, chaînes de caractères, . . ., tout ce qui n’est
pas désigné par un nom.

9 Dr I GAYE - ibou13@[Link] Langage Python


Objets sous python

Notion d’objets (3)

Les types
Un type = un ensemble de constantes + un ensemble
d’opérations qu’on applique avec ces constantes

10 Dr I GAYE - ibou13@[Link] Langage Python


Objets sous python

Notion d’objets (4)

Les types - None


Type « rien » ou None :
Comme le type de la variable est connu après
l’initialisation, python propose un type None pour signifier
qu’une variable ne contient rien.
La variable est de type None et est égale à None.

11 Dr I GAYE - ibou13@[Link] Langage Python


Objets sous python

Notion d’objets (5)

Les types - numériques (entier et réel)


Il existe deux types pour les numériques en python :
les nombres réels float
les nombres entiers int
L’instruction x=3 crée une variable de type int initialisée à 3
tandis que y=3.0 crée une variable de type float initialisée à
3.0.

12 Dr I GAYE - ibou13@[Link] Langage Python


Objets sous python

Notion d’objets (6)

Les types - numériques (entier et réel)

13 Dr I GAYE - ibou13@[Link] Langage Python


Objets sous python

Notion d’objets (7)

Les types - numériques (entier et réel) - Opérateurs


Les opérations arithmétiques de base se font de manière
simple sur les types numériques.

Les types - numériques (entier et réel) - Opérateurs -


Remarque
Toutefois que si vous mélangez les types int et float, le résultat
est renvoyé comme un float (car le int sera converti en float
avant d’effectuer l’opération). Par ailleurs, l’utilisation de
parenthèses permet de gérer les priorités.

14 Dr I GAYE - ibou13@[Link] Langage Python


Objets sous python

Notion d’objets (8)

Les types - numériques (entier et réel) - Opérateurs

15 Dr I GAYE - ibou13@[Link] Langage Python


Objets sous python

Notion d’objets (9)

Les types - chaînes de caractères


Sous Python, une donnée de type string est une suite
quelconque de caractères délimitée soit par des apostrophes
(simple quotes), soit par des guillemets (double quotes).

Les types - chaînes de caractères - Opérations


la concaténation (+)
la répétition (*)
d’autres opérations telles que len, [], ... qui vous
permettrons d’accéder à un caractère, la longueur, une
sous-chaîne, ...

16 Dr I GAYE - ibou13@[Link] Langage Python


Objets sous python

Notion d’objets (10)

Les types - chaînes de caractères

17 Dr I GAYE - ibou13@[Link] Langage Python


Les fonctions entrées et Sorties (input() et print()

Entrées et Sorties (1)

La fonction : print()
Elle accepte un nombre arbitraire d’expressions. Elle affichera
chacune d’elles dans l’ordre, séparées par un espace. La
dernière valeur est suivie d’une retour à la ligne.

18 Dr I GAYE - ibou13@[Link] Langage Python


Les fonctions entrées et Sorties (input() et print()

Entrées et Sorties (2)

La fonction : print() - Écriture formatée


La méthode .format() permet une meilleure organisation de
l’affichage des variables

19 Dr I GAYE - ibou13@[Link] Langage Python


Structures de contrôle

Structures de contrôle (1)

C’est quoi
Elles décrivent la manière d’enchaîner des instructions. Elles
permettent des traitements séquentiels, conditionnels ou
répétitifs (itératifs)

20 Dr I GAYE - ibou13@[Link] Langage Python


Structures de contrôle

Structures de contrôle (2)

Bloc d’inscriptions
En programmation, les instructions d’un même bloc sont
exécutées séquentiellement, c’est-à-dire, les unes après
les autres, donc dans l’ordre où elles sont écrites.
En python, les blocs d’instructions sont matérialisés par
leur indentation. C’est par exemple ce que nous avons fait
pour définir d’une boucle tant que :
tantque(Expression conditionnelle) :
instruction1
instruction2
instruction3
instruction4
suite du programme

21 Dr I GAYE - ibou13@[Link] Langage Python


Structures de contrôle

Structures de contrôle - Structures conditionnelles (1)

Structures conditionnelles - Structure pure


La conditionnelle permet d’exécuter une séquence
d’instruction, seulement si une condition est vraie.
if condition :
Sequence
suite

22 Dr I GAYE - ibou13@[Link] Langage Python


Structures de contrôle

Structures de contrôle - Structures conditionnelles (2)


Structures conditionnelles - Structure pure
La condition est nécessairement une expression
booléenne.
Évaluation :
la condition est évaluée ;
si la condition est vraie, la séquence est exécutée puis le
contrôle passe à la suite ;
si la condition est fausse, le contrôle passe à la suite, sans
exécuter la séquence.

23 Dr I GAYE - ibou13@[Link] Langage Python


Structures de contrôle

Structures de contrôle - Structures conditionnelles (3)

Structures conditionnelles - Structure pure


def parite (valeur) :
""" affiche ‘PAIRE’ si le paramètre valeur est paire """
if valeur%2==0 :
print(PAIRE !’)
Test :
> > > parite (0)
PAIRE
> > > parite (12)
PAIRE
> > > parite (-3)
> > > parite (25)

24 Dr I GAYE - ibou13@[Link] Langage Python


Structures de contrôle

Structures de contrôle - Structures conditionnelles (4)

Structures conditionnelles - Structure alternative


La conditionnelle Si...Alors...Sinon... permet de poser une
alternative.
if condition :
Sequence1
else :
Sequence2
suite

25 Dr I GAYE - ibou13@[Link] Langage Python


Structures de contrôle

Structures de contrôle - Structures conditionnelles (5)

Structures conditionnelles - Structure alternative


Si la condition est vraie, c’est la séquence1 qui sera exécutée,
sinon c’est la séquence2 qui sera exécutée. Dans tous les cas,
l’exécution continuera à suite.

26 Dr I GAYE - ibou13@[Link] Langage Python


Structures de contrôle

Structures de contrôle - Structures conditionnelles (6)

Structures conditionnelles - Structure alternative


def max(a, b) :
""" renvoie le plus grand des deux arguments """
if a > b :
max = a
else :
max = b
return max
Test :
> > > max(-8, 3)
3
> > > max(-2, -3)
-2

27 Dr I GAYE - ibou13@[Link] Langage Python


Structures de contrôle

Structures de contrôle - Structures conditionnelles (7)


Structures conditionnelles - imbrication
Naturellement, il est possible d’imbriquer les structures de
contrôle conditionnelles les unes à l’intérieur des autres,
comme ceci :
if condition1 :
if condition2 :
sequence suite

Structures conditionnelles - imbrication - équivalence


Toutefois, on préfèrera l’utilisation d’une conjonction dans la
condition (car les opérateurs booléens s’exécutent s’une
manière séquentielle) :
if condition1 and condition2 :
sequence
suite
28 Dr I GAYE - ibou13@[Link] Langage Python
Structures de contrôle

Structures de contrôle - Structures conditionnelles (8)

Structures conditionnelles - clause SinonSi


On peut ajouter autant de clause SinonSi (elif en Python,
contraction de else if) que de conditions à tester si les
précédentes ont renvoyé faux.
if condition1 :
sequence1
elif condition2 :
sequence2
elif condition3 :
sequence3
else :
sequence4
suite

29 Dr I GAYE - ibou13@[Link] Langage Python


Structures de contrôle

Structures de contrôle - Structures itératives (1)

Structures conditionnelles - Structures itératives


Les répétitions permettent d’exécuter plusieurs fois une même
séquence d’instructions. Il est important de vérifier qu’une
répétition se termine effectivement (notion de variant).

30 Dr I GAYE - ibou13@[Link] Langage Python


Structures de contrôle

Structures de contrôle - Structures itératives (3)

Structures conditionnelles - Structures itératives - la boucle


tantQue
La répétition TantQue permet d’exécuter une séquence
d’instructions tant qu’une condition est vraie.
Évaluation :
La condition est évaluée.
Si la condition est vraie, on exécute la séquence et on
recommence en 1.
Si la condition est fausse, on exécute la suite (on sort donc
de la boucle).

31 Dr I GAYE - ibou13@[Link] Langage Python


Structures de contrôle

Structures de contrôle - Structures itératives


Structures conditionnelles - Structures itératives - la boucle
tantQue
syntaxe
while condition :
sequence
suite

32 Dr I GAYE - ibou13@[Link] Langage Python


Structures de contrôle

Structures de contrôle - Structures itératives (4)


Structures conditionnelles - Structures itératives - la boucle
tantQue
Attention :
Afin de garantir la terminaison du programme, il faut s’assurer
que la condition va finir par être fausse, et ainsi que le
programme ne restera pas infiniment dans la boucle. C’est pour
cela que la séquence d’instructions doit modifier la condition.
Attention, c’est une condition nécessaire mais pas suffisante.

Structures conditionnelles - Structures itératives - la boucle


tantQue
Variant :
On appelle variant une entier positif qui décroit strictement à
chaque itération. Si on est capable de mettre en évidence un
tel variant, on a prouvé que la boucle se termine.
33 Dr I GAYE - ibou13@[Link] Langage Python
Structures de contrôle

Structures de contrôle - Structures itératives (5)

Structures conditionnelles - Structures itératives - la boucle


tantQue
def decompter(n) :
""" affiche un décompte en partant de n, et jusqu’à 0 """
i=n
while i >= 0 :
print(i)
i=i-1
decompter(5)
5
4
3
2
1
0
34 Dr I GAYE - ibou13@[Link] Langage Python
Structures de contrôle

Structures de contrôle - Structures itératives (6)

Structures conditionnelles - Structures itératives - la boucle


tantQue
Ici le variant est i+1. Il est positif au départ, il décroit de 1 à
chaque itération, il reste positif à chaque itération.

35 Dr I GAYE - ibou13@[Link] Langage Python


Structures de contrôle

Structures de contrôle - Structures itératives (7)

Structures conditionnelles - Structures itératives - la boucle


PourChaque
La répétition PourChaque permet d’exécuter une séquence
d’instructions un nombre connu de fois, pour chaque élément...

Range
Il est possible de créer une boucle facilement avec range :
> > > range(4, 10, 2) # range(début, fin, pas) : 4, 6, 8
range(4, 10, 2)
> > > range(4, 10) # range(début, fin) pas=1 : 4, 5, 6, 7, 8, 9
range(4, 10)
> > > range(10) # range(fin) début=0, pas=1 : 0, 1, 2, 3, 4, 5, 6,
7, 8, 9

36 Dr I GAYE - ibou13@[Link] Langage Python


Listes

les listes

Listes
On peut définir une liste comme une collection d’éléments
séparés par des virgules, l’ensemble étant enfermé dans des
crochets.
Exemple :

37 Dr I GAYE - ibou13@[Link] Langage Python


Listes

les listes

Listes
Les listes sont comme les chaînes de caractères, elles
sont des séquences, c’est-à dire des collections
ordonnées d’objets.
Premier élément est indexé par zéro et le dernier élément
len(liste)-1

38 Dr I GAYE - ibou13@[Link] Langage Python


Listes

les listes

Listes
Il est possible d’utiliser les opérations standard telles que :
ajouter (append), supprimer (remove ou pop), ...

39 Dr I GAYE - ibou13@[Link] Langage Python


Listes

les listes

Listes
Remarques :
append : une opération de concaténation
pop(i) : renvoie l’élément qui est à la position i et le
supprime de la liste
remove(el) : deux possibilités :
el est présent dans la liste : elle supprime la première
occurrence
el n’est pas présent : elle génère une exception

40 Dr I GAYE - ibou13@[Link] Langage Python


Fonctions

les fonctions

Fonction
Décomposition en problèmes simples (élémentaires)
Ré-utilisation de la même portion de code
Solutions
les sous-programmes (fonctions)
les classes

41 Dr I GAYE - ibou13@[Link] Langage Python


Fonctions

les fonctions

Fonction - syntaxe générale


def nomDeLaFonction(liste de paramètres) : séquence
nomDeLaFonction doit respecter les règles d’un
identificateur
Comme dans les structures while, if, ... l’indentation est
obligatoire
Les paramètres sont mis dans les parenthèses (même s’il
n’y a pas de paramètres, les parenthèses sont obligatoire)

42 Dr I GAYE - ibou13@[Link] Langage Python


Fonctions

les fonctions

Fonction - syntaxe générale - Exemples

43 Dr I GAYE - ibou13@[Link] Langage Python


Modules

Les modules

Modules
Les modules sont des fichiers qui regroupent des
ensembles de fonctions
Il existe un grand nombre de modules pré-programmés.
On peut aussi programmer notre module
Souvent on essaie de regrouper dans un même module
des ensembles de fonctions apparentées, que l’on appelle
des bibliothèques.

44 Dr I GAYE - ibou13@[Link] Langage Python


Modules

Les modules

Modules - Exemples
Le module Math
Syntaxe :
from math import *
Utilisation :
racine = sqrt(nombre)
sinusx = sin(angle)

45 Dr I GAYE - ibou13@[Link] Langage Python


Modules

Les modules

Modules - Exemples
Le module turtle
Syntaxe :
from turtle import *
Utilisation :
reset()
forward(150)

46 Dr I GAYE - ibou13@[Link] Langage Python


Modules

Les modules

Modules - Exemples
Le module turtle

47 Dr I GAYE - ibou13@[Link] Langage Python


Fichiers

Les fichiers

collection d’informations stockées sur une mémoire de masse


(non volatile, capacité plus importante que la mémoire vive)

L’utilisation d’un fichier ressemble beaucoup à l’utilisation d’un


livre
1 Trouver le livre
2 L’ouvrir
3 L’utiliser
4 Le fermer

48 Dr I GAYE - ibou13@[Link] Langage Python


Fichiers

Les fichiers

Natures de fichiers
selon l’organisation des données :
structuré : les informations sont organisées d’une manière
particulière qu’il faut respecter (ex. fichiers
d’enregistrements) ;
non-structuré : les informations sont alignées à la suite (ex.
fichier texte)
Selon le mode d’accès aux données :
accès indicé : utilisable comme un tableau ;
accès séquentiel : lecture ou écriture pas à pas (ex. ligne
par ligne dans un fichier texte)

49 Dr I GAYE - ibou13@[Link] Langage Python


Fichiers

Les fichiers
Fichiers textes - Lecture
L’ouverture en lecture
f = open("[Link]","r")
open() permet d’ouvrir un fichier, en lecture ici avec l’option
« r ». La fonction renvoie un objet de type fichier stocké
dans f. Le curseur de fichier est placé sur la première ligne
La lecture
s = [Link]()
read() lit tout le contenu du fichier d’un bloc
ligne = [Link]()
readlines() permet de lire une ligne entière
NB : la fonction renvoie la chaîne vide lorsque nous
arrivons à la fin du fichier
La fermeture
[Link]()
close() ferme le fichier (et donc le déverrouille)
50 Dr I GAYE - ibou13@[Link] Langage Python
Fichiers

Les fichiers

Fichiers textes - Écriture


L’ouverture en écriture
f = open("[Link]","w")
open() permet d’ouvrir un fichier en écriture avec l’option
"w". La fonction renvoie un objet de type fichier référencée
par f. L’option "w", le fichier est écrasé s’il existe déjà.
L’écriture
Écriture
[Link]("EPITA")
[Link]("ESITEC")
[Link]("MERCURE")
NB : l’option \n est pour retournée à la ligne
[Link]()

51 Dr I GAYE - ibou13@[Link] Langage Python


Fichiers

Les fichiers

Fichiers textes - Ajout


f = open("[Link]","a")
Pour l’ajout dans un fichier texte, utiliser le mode
d’ouverture "a" (le mode concaténation)

52 Dr I GAYE - ibou13@[Link] Langage Python


Fichiers

Les fichiers

Fichiers binaires
Les fichiers sous python sont traités en mode binaire. La
lecture se fait par Octet ou par blocs d’octets.
Intérêt : traitement des fichiers comme les images.

53 Dr I GAYE - ibou13@[Link] Langage Python


Fichiers

Les fichiers

Fichiers binaires
ouverture en lecture
f = open("[Link]","rb")
lire un octet
a = [Link](1)
Postion du curseur
print("position : ",[Link]())

54 Dr I GAYE - ibou13@[Link] Langage Python


Fichiers

Les fichiers

Fichiers structurés - Exemple : le format CSV

55 Dr I GAYE - ibou13@[Link] Langage Python


Classes, Objets, Attributs

Classes, Objets, Attributs

L
es classes sont les principaux outils de la programmation
orientée objet (Object Oriented Programming ou OOP).

56 Dr I GAYE - ibou13@[Link] Langage Python

Vous aimerez peut-être aussi