UVT : MASTER BADS
M1
PYTHON
Cours :Initiation à la programmation avec python
Introduction générale et concepts de base
Enseignante: Mme Lamia MANSOURI
Année universitaire: 2020-2021
1
I. INTRODUCTION
1. C’est quoi Python?
PYTHON
▪ Python est un langage de programmation inventé par Guido van Rossum en 1989.
▪ Python est un langage de programmation de haut niveau.
▪ proche des langues naturelles, ce qui facilite l’écriture des programmes, en plus le
programme peut faire fonctionner sans aucune modification, sur des machines ou
des systèmes différents.
▪ facile à apprendre.
Site officiel : http://www.python.org
2
I. INTRODUCTION
2. Qui utilise Python?
YAHOO
NASA
PANDA 3D
BATTLEFIELD
3
I. INTRODUCTION
3. Un peu d’historique
1989
1994
2000
2008
2014
2019
Création du Python
par
Guido van Rossum
Publication de la
version 1.0
Publication de la
version 2.0
Publication de la
version 3.0
Publication de la
version 3.4
Publication de la
version 3.9
4
I. INTRODUCTION
4. Aperçu de ses caractéristiques…
Langage Script
Un langage script interprété.
Portable et multiplateforme
Python est portable entre les différentes variantes de Unix ainsi que sur les OS propriétaires comme Mac
OS et les différentes versions de Windows.
Gratuit
Python est placé sous Général Public License. Il est facilement téléchargeable sur www.python.org
5
Extensible
Au-delà de la multitude de librairies et de modules déjà existants, il est possible d’en développer
pour ses propres besoins.
Modulable
Python permet de séparer les programmes en modules qui peuvent être réutilisés dans d'autres
programmes en Python
Orienté Objet
Python est orienté-objet. Il supporte l'héritage multiple et la surcharge des opérateurs.
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.
6
Peu d’erreurs…
Python possède un système d’exception qui facilite la gestion des erreurs.
Gestion des ressources
Python gère ses ressources (mémoire, descripteurs de fichiers...) sans intervention du
programmeur, par un mécanisme de comptage de références
Case sensitive
Une instruction par ligne
PYTHON EST JOKER
Python est utilisé pour l’administration système(Scripting) ,les applications bureau, le web, la robotique,
jeux vidéo …
7
I. INTRODUCTION
Publicité
5. compilation ou interprétation
Il existe 2 technique pour effectuer la traduction en langage machine mon code source:
Interprétation: inconvénient lent!!!
Compilation: Rapide
8
I. INTRODUCTION
Et Python ???
Avantages:
▪ Interpréteur permettant de tester n'importe quel petit bout de code
▪ Compilation transparente
Inconvénients:
▪ Peut être lent
9
I. INTRODUCTION
5. Installation de Python 3 sous Windows
▪ l’interpréteur Python 3 qui permet à notre ordinateur de comprendre le code Python 3 ;
https://www.python.org/downloads/
▪ Un IDE ou un Environnement de développement (Integrated Development Environment) est un
environnement de programmation complet qui se présente sous la forme d'une application. Il se compose
généralement d'un éditeur de code, d'un compilateur, d'un débogueur et d'un générateur d'interface
graphique.
Exemple d’IDE :Anaconda (spider), PyCharm, Thonny, Eclipse + Pydev, edupython,…
Pour installer la distribution anaconda : https://www.anaconda.com/
Remarque:
SOUS UNIX: Python est pré-installé sur la plupart des systèmes Unix, y compris Linux et MAC OS
10
I. INTRODUCTION
6. Mode interactif et mode script
Il y a deux modes d'utilisation de Python.
▪ Le mode interactif: aussi appelé mode console, l'interpréteur vous permet d'encoder les instructions une à une.
▪ le mode script : On utilise généralement l'extension de fichier .py pour des fichiers contenant du code
Python. L'interpréteur va lire ce fichier et exécuter son contenu, instruction par instruction.
11
2. CONCEPTS DE BASE
2.1 Les Entrées/sorties
1. Opération d’entrée
Syntaxe (Python)
Nom_variable = input (”texte”) # Le message s’affiche avant de saisir le contenu de la variable
2. Opération de sortie
Syntaxe (Python)
print (”texte”) # affichage d’un texte
print (variable) # affiche du contenu d’une variable
print (”texte1”, var1, ...) # affichage mixte
print (expression) # affichage du résultat de l’expression
Exemple
Print("python")
prenom = input("Entrez votre prénom : ")
print("Bonjour ", prenom)
12
2.2 Les variables
1. Déclaration et Affectation
Syntaxe (Python)
Nom_variable = Valeur_variable
Exemples :
a = 1.0
a = b = 2.5
a,b = 2.5, 3.2 #affectations parallèles
Remarque
Python est sensible à la casse, ce qui signifie que les variables age, Age et AGE sont
différentes.
La Fonction type(nom_variable) nous permet de déterminer le type d’une variable sur Python.
13
2.3. Les types de données
1. Le type int
2. Le type float
Une variable de type int est un nombre sans virgule.
Exemple: a = 10
Un float permet de représenter des nombres comportant une partie décimale, il est compris
entre 10−308 et 10308. Exemple: moyenne = 15.25
Les opérations arithmétiques et de comparaison sur les types numériques (int, float)
Opérateur
Syntaxe
Python
Exemple
Addition
Soustraction
Multiplication
Division
Puissance
+
-
*
/
**
2 + 2 donne 4
2.4–6.0 donne –3.6
Publicité
3*2 donne 6
5/2.5 donne 2.0
3**3 donne 27
Division entière //
10.0//3.0 donne 3.0
Reste de la
division entière
%
5%2 donne 1
Syntaxe
Python
<
<=
>
>=
==
!=
Signification
Exemple
Strictement
inférieur à
Inférieur ou égal
à
Strictement
supérieur à
Supérieur ou
égal à
Égal à
Différent de
2 < 3 donne True
2.75 <= 2 donne
False
3 > 2 donne True
2.5 >= 2 donne
True
2.5 == 2.5 donne
True
2 != 2 donne False
14
2.3 Les types de données
3. Le type complex
permet de représenter des nombres complexes, où le nombre imaginaire se note j
Remarque
On colle directement la partie imaginaire d'un nombre complexe au j sans utiliser un *.
2j représente le nombre complexe 2i tandis que 2 * j représente le produit de 2 par la variable j.
Exemple
15
2.3 Les types de données
Exercice
On veut calculer les deux racines complexes d'un trinôme du second degré , avec : a=1,b=-4
et c=2e2 (notation scientifique des flottants).
Utiliser la fonction sqrt en écrivant:
from cmath import sqrt
correction
from cmath import sqrt
a = 1
b = -4
c = 2e2
delta = b * 2 - 4 a * c
x1 = (-b + sqrt(delta)) / (2 * a)
x2 = (-b - sqrt(delta)) / (2 * a)
print('Les deux racines sont :')
print(x1)
print(x2)
Les deux racines sont :
(2+14j)
(2-14j)
16
2.3 Les types de données
3. Le type bool
bool est un type de variable à deux états: True ou False
Exemple:
>>> b = 10
>>> print(b > 8)
True
>>> print(b == 5)
False
>>> print(b != 10)
False
>>> print(0 <= b <= 20)
True
Les opérateurs logiques
Python définit 3 opérateurs logiques: not (NON logique), and (ET logique) et le or (OU logique)
Table de vérité des opérations logiques
not(p)
p and q
Publicité
p
p or q
q
False False True
False True True
True False False
True True False
False
False
False
True
False
True
True
True
>>> note = 13.0
>>> mention_ab = note >= 12.0 and note < 14.0
>>> print(mention_ab)
True
>>> print(not mention_ab)
False
>>> print(note == 20.0 or note == 0.0)
False
17
2.3 Les types de données
4. Le type str
Une chaine de caractères (str) est une séquence de caractères, délimitée par des guillemets
dans sa forme littérale (simple ' ou double ").
Exemple: nom = "Mansouri" | prenom=‘lamia’
Accès aux caractères individuels d’une chaîne
Python offre des mécanismes permettant d'accéder séparément à chacun des caractères d'une chaîne.
L’accès aux caractères se fait par index.
Exemple:
ch =
‘B o n j o u r’
indice
(positif)
0
1 2 3 4 5 6
Ou bien
ch[0] donne ‘B’
ch[5] donne ‘u’
indice
(négatif)
-
7
-
6
-
5
-
4
-
3
-
2
-
1
ch[-7] donne ‘B’
ch[-5] donne ‘n’
Remarque
Les chaînes de caractères sont immuables (on ne peut pas changer leurs valeurs).
Il est donc, interdit d’écrire par exemple: ch[0]=’P’
18
2.3 Les types de données
4. Le type str
Une chaine de caractères (str) est une séquence de caractères, délimitée par des guillemets
dans sa forme littérale (simple ' ou double ").
Exemple: nom = "Mansouri" | prenom=‘lamia’
Accès aux caractères individuels d’une chaîne
Python offre des mécanismes permettant d'accéder séparément à chacun des caractères d'une chaîne.
L’accès aux caractères se fait par index.
Exemple:
ch =
‘B o n j o u r’
indice
(positif)
0
1 2 3 4 5 6
ch[0] donne ‘B’
ch[5] donne ‘u’
Ou bien
indice
(négatif)
-
7
Publicité
-
6
-
5
-
4
-
3
-
2
-
1
ch[-7] donne ‘B’
ch[-5] donne ‘n’
19
2.3 Les types de données
4. Le type str
Remarques
▪ Les chaînes de caractères sont immuables (on ne peut pas changer leurs valeurs).
Il est donc, interdit d’écrire par exemple: ch[0]=’P’
▪ On peut connaitre la longueur d'une chaine de caractères (c'est-à-dire le nombre de
caractères qui la composent) en utilisant la fonction prédéfinie len.
▪ On peut joindre deux chaines de caractères l'une derrière l'autre avec l'opérateur de
concaténation (+).
Exemple
a = 'Hello'
b = " "
c = 'World!'
s = a + b + c
print(s)
print ("la chaine s est de longueur ",len(s))
Hello World!
la chaine s est de longueur 12
20
Les principales séquences d'échappement
Séquence
Description
\\
\'
\"
\n
\r
\t
Backslash
Guillemet simple (apostrophe)
Guillemet double
Saut de ligne
Retour chariot
Tabulation horizontale
Les caractères d'échappement : pour introduire
des caractères spéciaux.
>>> print('J\'ai faim’)
J'ai faim
>>> print('\tSeptembre\n\tOctobre’)
Septembre
Octobre
2.4 Fonctions de conversion des types
Ou aussi fonctions de transtypage
▪ la fonction str() : convertit une variable en chaîne de caractères.
▪ la fonction int() : convertit une variable en nombre entier.
▪ la fonction float() : convertit une variable en nombre réel (encore appelé nombre à virgule flottante).
▪ La foncion complex() : convertit en complex
Exemples
▪ Conversion en numérique
a = "12" # a est de type chaîne caractère
b = float(a) #b est de type float
▪ Conversion en logique
a = bool("TRUE") # a est de type bool et contient la valeur True
a = bool(1) # renvoie True également
▪ Conversion en chaîne de caractères
a= str(15) # a est de type chaîne et contient "15"
N.B. Si la conversion n’est pas possible ex. float("toto"), Python renvoie une erreur.
22
3. QUELQUES RÈGLES DE SYNTAXE PYTHON
▪ Les limites des instructions et des blocs sont définies par la mise en page .
▪ Un commentaire Python commence toujours par le caractère spécial #.
▪ Instruction composée : en-tête, double point, bloc d'instruction
Exemple
▪ Les blocs d'instructions sont toujours associés à une ligne d'en-tête contenant une instruction bien
spécifique (if, elif, else, while, def, etc.) se terminant par un double point.
▪ Les blocs sont délimités par l'indentation : toutes les lignes d'un même bloc doivent être indentées
exactement de la même manière (c'est-à-dire décalées vers la droite d'un même nombre d'espaces).
23