Programmer avec Python
CPGE Moulay Youssef
BHIHI Mohamed
Plan
Introduction
Notions de base
INTRODUCTION
• le langage Python, fait partie des langages les plus utilisé au monde, il a
été créé par Guido van Rossum en 1990 .
• le langage Python fonctionne sur la plupart des plateformes
informatiques (Linux, Windows et macOS).
• Python est utilisé dans de nombreux projets, de types différents.
– Il est utilisé comme langage de script pour des applications web.
– Il est également très présent dans des applications de calculs
scientifiques,
– il est aussi utilisé dans le développement de jeux vidéo.
Ses caractéristiques
• Il est multiplateforme. C’est-à-dire qu’il fonctionne sur de nombreux
systèmes d’exploitation : Windows, Mac OS X, Linux, Android, iOS,
• Il est gratuit.
• C’est un langage de haut niveau.
• C’est un langage interprété. Un script Python n’a pas besoin d’être
compilé pour être exécuté, contrairement à des langages comme le C ou
le C++.
• Il est orienté objet. C’est-à-dire qu’il est possible de concevoir en
Python des entités
• Python est désormais enseigné dans de nombreuses formations.
Instructions de base et règles généra les
Il y a deux modes d'utilisation de Python
• Dans le mode interactif, aussi appelé mode console,
• le mode script : écriture des instructions du programme
dans un fichier texte enregistrer avec l’extension .py.
Les Commentaires
• # au début de la ligne
• 3 fois « ‘ » au début et a la fin du paragraphe: ‘’’ texte ‘’’
Instructions de base et règles généra les
fonctions prédéfinies
Python possède une série de fonctions prédéfinies afin de réaliser les
fonctions les plus courantes. Par exemple :
• print() Pour afficher sur écran
• input() pour lire une entrée à partir du clavier
• min(), max()
• sorted()
• len()
• range()
• ...
Toutes ces fonctions peuvent êtres appelées directement
depuis Python sans import de modules préalables. Elles sont chargées
au démarrage de Python.
Les opérateurs arithmétiques.
• l'addition (+),
• la soustraction (-),
• la multiplication (*)
• la division (/).
• l'exponentiation (**) qui permet d'élever un nombre à une
certaine puissance.
• la division entière (// ) 17 // 6 = 2
• le modulo (reste de la division entière) (%) 17 % 6 = 5
Les variables
• On souhaite parfois conserver en mémoire le
résultat d'une expression arithmétique en vue de
l'utiliser plus tard, dans un autre calcul,
Une variable peut être vue comme une boite
(virtuelle) représentant un emplacement en
mémoire qui permet de stocker une valeur, et à
qui on a donné un nom afin de l'identifier.
Variables
Python est un language à typage dynamique
• ce qui signifie qu’il n’est pas nécessaire de déclarer les variables avant
de pouvoir leur affecter une valeur. La valeur que l’on affecte possède
un type qui dépend de la nature des données, exemples des types de
données :
• Int, float, str, bool, complex
• La conversion des types de données passe par la méthode suivante :
• Type ( nomvariable)
• Exemple :
• A= Int (input()) convertit la valeur taper au clavier en un entier
Règle de nommage des variables
• On ne peut pas utiliser certains mots appelés mots
réservés. Il s'agit de mots qui ont une signification
particulière en Python,
• le premier caractère doit être une lettre minuscule
(a-z), une lettre majuscule (A-Z) ou un tiret de
soulignement (_).
• Pour les autres caractères, on autorise en plus les
chiffres (0-9).
• Python est sensible à la casse, c'est-à-dire qu'il fait la
différence entre minuscules et majuscules.
L’affectation
• Pour affecter une valeur à une variable,
c'est-à-dire l'initialiser ou modifier sa
valeur, on utilise l'opérateur d'affectation
(=). À gauche de l'opérateur, on retrouve le
nom de la variable et à droite la valeur
qu'on souhaite lui affecter.
X=2
Affectation
a=2+4
a= a+4*a*a
a+=2 # a=a+2
a-=2 # a=a-2
a*=2 # a=a*2
a/=2 # a=a/2
a%=2 # a=a%2
a**=2 # a=a**2
…
Affectation
Les Affectations multiples
>>> x = y = 7
>>> x
7
>>> y
7
Les Affectations parallèles
>>> a, b ,c = 4, 8.33,0
>>> a
4
>>> b
8.33
Règle de nommage des variables
• On ne peut pas utiliser certains mots appelés mots
réservés. Il s'agit de mots qui ont une signification
particulière en Python,
• le premier caractère doit être une lettre minuscule
(a-z), une lettre majuscule (A-Z) ou un tiret de
soulignement (_).
• Pour les autres caractères, on autorise en plus que
les chiffres (0-9) mais on ne peux pas commencer
avec.
• Python est sensible à la casse, c'est-à-dire qu'il fait la
différence entre minuscules et majuscules, c-à-d la
variable a et different de A
fonctions prédéfinies :
Fonction : Print
print("Bonjour à tous")
•
• On peut construire une chaine de
Bonjour à tous
caractères dans laquelle on
• print("Bonjour", "à", "tous")
incruste, à des endroits précis, les
Bonjouràtous valeurs de variables.
year = 2020
• print("Bonjour", "à", "tous", sep ="*")
naiss = 1980
Bonjour*à*tous
age = year - naiss
• print("Bonjour", "à", "tous", sep ="") print("Né en " , naiss , "j’ai" ,age , " ans" )
Bonjouràtous
A l’exécution, on aura :
• print("Bonjour", "à", "tous", sep = "
") Né en 1980 j'ai 40 ans
Bonjour à tous
fonctions prédéfinies
Formatage de chaine : .format
• Python propose aussi des facilités pour formater une chaine de caractères.
year = 2020
naiss = 1980
age = year - naiss
print("Né en {} j'ai {} ans".format(naiss, age))
A l’exécution, on aura : Né en 1980 j'ai 40 ans
—Dans la chaîne de caractères, les accolades vides {} précisent l’endroit où le contenu de la variable doit être
inséré.
—Juste après la chaîne de caractères, l’instruction .format(.. , ..) fournie la liste des variables à insérer
x = 32
nom = " Ali "
print ("{} a {} ans ". format ( nom , x))
A l’exécution, on aura : Ali a 32 ans
fonctions prédéfinies :
Fonction : print
Vous pouvez spécifier dans les accolades
{} le format qui vous intéresse. Dans le
cas présent, vous voulez formater un
float pour l’afficher avec deux
décimales.
prix = 150
print (" le prix est {:.2 f } DH". format (prix))
A l’exécution, on aura : le prix est 150.00 DH
fonctions prédéfinies :
Fonction : input
On va pouvoir lire une entrée au clavier grâce à la fonction input. Cette fonction, une fois appelée,
arrête l'exécution du programme et attend que l'utilisateur saisit un texte. Ce dernier est ensuite
stocké dans une variable.
pr = input('Quel est ton prénom ? ')
La fonction input renvoie toujours le texte saisi par l'utilisateur sous forme d'une chaine de
caractères. Il faudra donc éventuellement prévoir une conversion, si vous voulez que l'utilisateur
saisisse autre chose, comme un nombre entier, par exemple :
a=input("Entrez un nombre")
a=int(a)
naiss = int(input('Quel est ton année de naissance ? ’))
Les Opérateurs de comparaison
Python propose six opérateurs de comparaison que l'on peut
utiliser pour construire
• Égal ==
• Différent !=
• Strictement plus petit <
• Plus petit ou égal <=
• Strictement plus grand >
• Plus grand ou égal >=
Les Opérateurs logique
Python propose trois opérateurs logiques
• « non » logique not
• « et » logique and
• « ou » logique or
Les instructions conditionnelles
x = int(input(‘donner un nombre’))
if x <= 0: Test imbriqué
print(x, "est négatif !")
print("Sa valeur absolue vaut ", -x) n = input(’Donner la température ’)
temp = int(n)
if temp < 100:
print("tout va bien")
x = int(input("n1 = " ))
elif temp <= 130:
y = int(input("n2 = " ))
print("attention")
if x < y:
elif temp <=160:
petit = x
print (‘’danger’’)
else :
else:
petit = y
print( "arret")
print("le plus petit est", petit)
Exercices
1) Ecrire un programme Python, qui lit un nombre
réels x, puis affiche son inverse 1/x. Dans le cas où x est
nul, on affichera plutôt le message : L’inverse n’existe pas
pour 0.
2) Ecrire un programme Python qui lit deux
entier a et b puis affiche selon le cas :
a=b
a<b
a>b
Instructions répétitives
La boucle for
1. Pour créer une liste de nombres dans une boucle
for, on utilise la fonction range.
range(n) : crée une liste de nombres allant de 0 à n-1.
en informatique, commencer à 0 et finir à n-1
Ex: range(10) : gère les nombres de 0 à 9
range(n1,n2) : crée une liste de nombres allant de n1 à
n2-1.
Ex: range(1,10) : gère les nombres de 1 à 9
range(n1,n2,pas) : crée une liste de nombres allant de n1
à n2-1 en sautant de pas en pas.
Ex: range(1,10,2) : ) : gère les nombres : 1 , 3, 5, 7 ,9
range(3,0,-1) : gère les nombres : 3 2 1
Instructions répétitives
ch=‘formation python’
Boucle while
for i in range (0,len(ch),1) :
print(ch[i]) n=1
Autre exemple qui cherche le e dans un texte
texte = " groupe a examen orale en contrôle continue."
while n <= 10:
compteur=0 print(n)
for i in texte :
if i == "e" :
n += 1
compteur += 1
print("le nombre de e est : ",compteur)
Exercice
Ecrire un programme qui permet de demander un nombre N puis
trouver dans l’intervalle 1 a N Les multiples de 3 et 5 et il les
affiche.
Ecrire un programme qui affiche la table de multiplication de 3
Ecrire un programme qui permet d’afficher le résultat suivant:
Une liste est représentée entre crochets, et ses éléments sont
séparés par des virgules :
[1, 10, 2, 3, 2, 2]
Une liste peut contenir des objets de n’importe-quel type. Par
exemple, des chaînes de caractères :
['a', 'b', 'toto’]
On peut aussi mélanger des objets de types différents dans la même
liste :
[ 1, ‘a’, ‘nom’, 405.25 , True , false , 3]
On peut même avoir une liste qui contient
une liste :
[1, [2, 3] , 'toto’]
Une liste peut être vide : []
Les éléments d’une liste peuvent contenir
des expressions complexes, faisant appel à
des variables ou des fonctions :
a=2
[(2 + 3) * a, a * 2]
Listes définies par compréhension
On peut aussi définir une liste par compréhension avec la syntaxe :
[ fonction(x) for x in liste if test(x) ]
Exemples :
Qu’il est le résultat de cette expression ?
[13, 15, 17, 19]
On accède aux éléments individuels d’une liste en indiquant leur indice entre crochets.
La numérotation des éléments commence à zéro.
Par exemple : a = [1, 7, 5]
a[0] 1
a[2] 5
Remarque
On peut utiliser des indices négatifs pour compter à partir de la fin de la liste : a = [1, 7, 5]
a[-1] 5
a[-3] 1
La fonction len donne la longueur d’une liste :
liste = [3, 7, 6]
len(liste) 3 ( cette liste contient 3 éléments)
On peut extraire un sous-ensemble des éléments d’une liste en
spécifiant un intervalle d’indices de la façon suivante :
liste[min:max]. Les indices conservés sont ceux qui sont
supérieurs ou égaux à min, et inférieurs strictement à max :
Exemple :
liste = [1, 4, 1, 5, 9]
liste[1:3] [4, 1]
liste[2:2] []
min ou max peut être omis. Dans ce cas, tout se passe comme
si min était 0, et max était len(liste) :
liste[2:] [1, 5, 9]
liste[:2] [1, 4]
liste[:] [1, 4, 1, 5, 9]
Les indices négatifs peuvent être utilisés dans les intervalles aussi :
liste[:-1] [1, 4, 1, 5]
On peut aussi préciser un pas avec l’instruction
liste[min:max:pas]
Par exemple pour avoir les éléments d’indices pairs :
liste[::2] [1, 1, 9]
Instructions de base et règles généra les
Modules et Fonctions
• Les modules sont des fichiers qui regroupent des
ensembles de fonctions.
• Beaucoup de ceux-ci font partie intégrante
de Python (modules internes), mais il est
nécessaire de les appeler au préalable pour avoir
accès à leurs fonctions.
Import de modules
import module : charge un module appelé [Link]
import module as alias : permet d'utiliser un alias plus explicite ou
plus court
from module import fonction : charge une fonction précise du module
from module import fonction as alias : charge une fonction précise du
module et utilise un alias
from module import * : charge toutes les fonctions d'un module
Exemple :
from math import *
charge toutes les fonctions qui appartiennent au module math
cos(), sin(), tan(),log() , pow(x,y) ...
Import de modules
Appel de fonctions importées
En fonction de la façon dont vous importez vos fonctions, l'appel est différent :
• import module
les fonctions du module devront êtres appelées par
[Link]()
• import module as alias
les fonctions du module devront êtres appelées par
[Link]()
From module import *
L’appel passe seulement par le nom de la fonction
fonction()
Informations sur les modules et fonctions
dir() : liste les modules chargés
dir(module) : liste les fonctions et constantes d'un module chargé
[Link].__doc__ : documente la fonction d'un module chargé
print(module.__file__) : renvoie la localisation du module sur votre système
help(module) : renvoie des informations sur les fonctions d'un module
help([Link]): renvoie des informations sur une fonction particulière
Les fonctions
Une fonction se définit avec le mot réservé def,
suivi de son nom, d'une liste de paramètres entre
parenthèses (qui peut être vide), du caractère
deux-points (:) et enfin d'un bloc de code
représentant son corps. Une fois définie, elle peut
être utilisée autant de fois qu'on le souhaite, en
l'appelant.
Définir une fonction
Syntax
def nomfonction( parmtr1, …..):
def nomfonction( parmtr1, …..):
var = 0
instruction 1 instruction 1
instruction 2 instruction 2
….. …..
return var
exemple
Une fonction qui affiche la table de multiplication de 7.