Vous êtes sur la page 1sur 48

Cours informatique

La Programmation Python

A.A: 2021-2022 Préparer par : SLIMANI Nawel


1
Notions de base

2
1 Introduction

• Python a été créé en 1989 par Guido van Rossum, aux Pays-Bas.

• La première version publique de ce langage a été publiée en 1991.

• Ce langage de programmation présente de nombreuses caractéristiques


intéressantes :

– Il est multiplateforme: il fonctionne sur de nombreux systèmes


d’exploitation : Windows, Mac OS X, Linux, Android, iOS, depuis les
mini-ordinateurs Raspberry Pi jusqu’aux supercalculateurs.

– Il est gratuit: vous pouvez l’installer sur autant d’ordinateurs que vous
voulez.

– C’est un langage de haut niveau. Il demande relativement peu de


connaissance sur le fonctionnement d’un ordinateur pour être utilisé.
3
1 Introduction

— 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: Il supporte l’héritage multiple et la surcharge des


operateurs.

– Comme Scheme ou SmallTalk, Python est dynamiquement typé. Tout


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

4
1 Introduction Compilé Vs Interprété

1. Langages interprétés

• Dans ces langages, le code source


(celui que vous écrivez) est
interprété, par un logiciel qu'on
appelle interpréteur.

• Celui-ci va utiliser le code source


et les données d'entrée pour
calculer les données de sortie.

5
1 Introduction Compilé Vs Interprété

2. Langages compilés:

• Dans ces langages, le code source


(celui que vous écrivez) est tout
d'abord compilé, par un logiciel qu'on
appelle compilateur, en un code
binaire.

• C'est alors directement le système


d'exploitation qui va utiliser le code
binaire et les données d'entrée pour
calculer les données de sortie :
6
1 Introduction Compilé Vs Interprété

Avantages et inconvénients

• Dans un langage interprété, le même code source pourra marcher


directement sur tout ordinateur. Avec un langage compilé, il faudra (en
général) tout recompiler à chaque fois ce qui pose parfois des soucis.

• Dans un langage compilé, le programme est directement exécuté sur


l'ordinateur, donc il sera en général plus rapide que le même programme

dans un langage interprété.

7
1 Introduction Installation

Pour programmer avec Python, il faut:

1. Installer l’interpréteur python disponible en téléchargement


gratuit sur le site officiel du langage, dans la rubrique
téléchargement : https://www.python.org/downloads/.

2. Utiliser un environnement de développement intégré (IDE):


– IDLE: IDE spécialement pour Python

– PyCharm :

– Anaconda

– Miniconda , … 8
2 Mon Premier programme

• Lancer PyCharm, et créer un nouveau projet en cliquant sur


le menu: Fichier>Nouveau projet

• Ajouter un fichier Python (appelé aussi script Python) au


projet crée en cliquant sur le menu: Fichier>Nouveau>Fichier
Python

9
2 Mon Premier programme

• Dans la zone de droite (espace de travail), écrire le code


suivant: print("Hello world!")

• Cliquer sur la touche d’exécution ( ) ou le raccourci shift +


F10 pour exécuter le programme.

• Enregistrer votre script sous le nom startProg.py.


10
3 Les bases de Python Commentaires

• Les commentaires servent à documenter le code.


• Ils vont être ignorés lors de l’exécution du code et vont donc
être totalement transparents pour l’utilisateur final.
• En Python, on utilise le signe # (dièse ou croisillon) pour
écrire un commentaire.

• Pour faire un bloc de commentaire on sélectionne tout le


texte du commentaire et on clique sur le raccourci:
Ctrl + Shift + /
11
3 Les bases de Python Indentation

• L’indentation correspond au fait de créer des retraits au


niveau de certaines lignes de code.
• En Python, l’indentation permet de définir des blocs de code,
pour indiquer à l’interpréteur quelle instruction appartient à
quelle autre.
• Si on indente mal notre code Python, celui-ci ne s’exécutera
tout simplement pas et Python renverra une erreur.
• Dans d’autre langage comme C, Java ou PHP, l’indentation
correspond aux accolades {}.

12
3 Les bases de Python Print ()

• La fonction print() est l’une des fonctions qu’on utilisera le


plus.
• Elle permet tout simplement d’afficher le message qu’on va lui
passer entre ses parenthèses.
• Elle va également nous permettre d’afficher des résultats
auquel on n’a pas directement accès.

13
4 Les variables Nommage

• Sous Python, les noms de variables doivent obeir a quelques


règles simples :
– Un nom de variable peut être constitué de lettres (a → z , A → Z) et de
chiffres (0 → 9), ou du caractère souligné (_) et il doit toujours
commencer par une lettre.
– Un nom de variable ne doit pas débuter par un chiffre et il n’est pas
recommandé de le faire débuter par le caractère _ (sauf cas très particuliers).
– Le nom d’une variable ne doit contenir que des caractères
alphanumériques (pas d’espace dans le nom d’une variable ou de
caractères spéciaux) ;
– La casse est significative (les caractères majuscules et minuscules sont
distingues). Les variables TesT, test ou TEST sont différentes.
– Seules les lettres ordinaires sont autorisées. Les lettres accentuées, les
cédilles, les espaces, les caractères spéciaux tels que $, #, @, etc. sont
interdits, a l’exception du caractère _ (souligné).
14
4 Les variables Nommage

Exemples:
• var1 : bonne
• var 2: mauvaise # contient un espace
• var_3: bonne
• print : mauvaise # nom réservé
• Var4: bonne
• 1var: mauvaise #commence par un chiffre
• _var5: bonne
• var$6 : mauvaise #contient un caractère spécial

15
4 Les variables Déclaration

• En Python, la déclaration d’une variable et son initialisation se


font au même temps.
Exemple:

• Dans cet exemple, nous avons déclaré, puis initialisé la


variable x avec la valeur 2.
• Python a « deviné » que la variable était un entier. On dit que
Python est un langage au typage dynamique.

16
4 Les variables L’opérateur =

• L’opérateur = s’utilise dans un certain sens.


• Ce n’est pas comme en mathématques, le signe = ne signifie
pas égale mais c’est un opérateur d’affectation.
• L’instruction x = 2 signifie qu’on attribue la valeur située à
droite de l’opérateur = (ici, 2) à la variable située à gauche (ici,
x).
• D’autres langages de programmation comme R utilisent les
symboles <- pour rendre l’affectation d’une variable plus
explicite, par exemple x <- 2.

17
4 Les variables L’opérateur =

• Sous Python, on peut assigner une valeur a plusieurs variables


simultanément.

• On peut aussi effectuer des affectations parallèles a l’aide


d’un seul operateur :

Jaber Kouki - Python 18


4 Les variables Les types

• Le type d’une variable correspond à la nature de celle-ci.


• Les principaux types dont nous aurons besoin dans un
premier temps sont:
– les entiers (int),
– les nombres décimaux (floats)
– les chaînes de caractères (string ou str).
• Python reconnaît certains types de variable automatiquement
(entier, float).
• Par contre, pour une chaîne de caractères, il faut l’entourer de
guillemets (doubles, simples, voire trois guillemets successifs
doubles ou simples) afin d’indiquer à Python le début et la fin
de la chaîne de caractères.
19
4 Les variables Les types

• En Python, comme dans la plupart des langages de


programmation, c’est le point qui est utilisé comme
séparateur décimal.
• Ainsi, 3.14 est un nombre reconnu comme un float en Python
alors que ce n’est pas le cas de 3,14.
Exemples:

20
4 Les variables Écriture scientifique

• On peut écrire des nombres très grands ou très petits avec


des puissances de 10 en utilisant le symbole e.

• On appelle cela écriture ou notation scientifique.


• Même si on ne met que des entiers à gauche et à droite du
symbole e (comme dans 1e6), Python génère
systématiquement un float. 21
4 Les variables Nombre long

• Il est parfois pénible d’écrire des nombres composés de


beaucoup de chiffres, exemples:
– le nombre d’Avogradro 602214076x10 23
– le nombre d’humains sur Terre (au 26 août 2020) 7807568245.
• Python autorise l’utilisation du caractère « souligné » (ou
underscore) _ pour séparer des groupes de chiffres.

22
Les opérateurs
5 Les opérations
arithmétiques

• les operateurs arithmétiques pour l’addition, la soustraction,


la multiplication et la division sont respectivement +, -, * et /.

• Si vous mélangez les types entiers et floats, le résultat est


renvoyé comme un float.
• Contrairement aux opérateurs +, - et *, l’opérateur / renvoie
systématiquement un float.
23
Les opérateurs
5 Les opérations
arithmétiques

• L’opérateur puissance utilise les symboles ** :

• On utilise les symboles // et modulo % pour obtenir le


quotient et le reste d’une division entière respectivement.

24
Les opérateurs
5 Les opérations
arithmétiques

• Il existe des opérateurs « combinés » qui effectue une


opération et une affectation en une seule étape.

• Les opérateurs -=, *= et /= se comportent de manière similaire


pour la soustraction, la multiplication et la division.
25
5 Les opérations Priorité des opérateurs

• Lorsqu’il y a plus d’un operateur dans une expression, l’ordre


dans lequel les opérations doivent être effectuées dépend de
règles de priorité.
• Sous Python, les règles de priorité sont les mêmes que celles
qui vous ont été enseignées au cours de mathématique.
• Vous pouvez les mémoriser aisement a l’aide de l’acronyme
PEMDAS:
– P pour parenthèses: qui ont la plus haute priorité.
– E pour exposants. Les exposants sont évalués ensuite.
– M et D pour multiplication et division, qui ont la même priorité.
– A et S pour addition et soustraction, sont effectuées en dernier lieu.
– Si deux operateurs ont la même priorité, l’ évaluation est effectuée de
gauche à droite.
26
5 Les opérations Priorité des opérateurs

Exercices: Déterminer l’ordre d’exécution de ces expressions


– 2*(3-1)
– (1+1)**(5-2)
– 2**1+1
– 3*1**10
– 2*3-1
– 2/3-1
– 59*100//60

27
Les opérateurs sur les
5 Les opérations
chaines de caractères

• Pour les chaînes de caractères, deux opérations sont


possibles, l’addition et la multiplication :

• L’opérateur d’addition + concatène deux chaînes de


caractères.
• L’opérateur de multiplication * entre un nombre entier et une
chaîne de caractères duplique plusieurs fois une chaîne de
caractères.
28
Les opérateurs sur les
5 Les opérations
chaines de caractères

• les opérateurs + et * se comportent différemment s’il s’agit


d’entiers ou de chaînes de caractères.
– 2 + 2 est une addition alors que "2" + "2" est une concaténation.
– 2*3 est une multiplication qui vaut 6 alors que "2" * 3 n’est pas une
multiplication et donne une chaine de caractère "222".

29
5 Les opérations Opérations illicites

Attention ! Ne pas concaténer une chaine de caractère avec un


entier numérique.

Attention! Ne pas multiplier une chaine de caractères avec un


float.

30
6 La fonction type()

La fonction type() permet de déterminer le type d’une variable:

31
7 Conversion de types

• les méthodes de conversion de type sont:


– int(): pour convertir en nombre entier.
– float(): pour convertir en nombre réel.
– str(): pour convertir en chaine de caractères.
Exemples:
x= 5 w="4.5"
print(float(x)) => 5.0 print(float(w)) => 4.5
print(str(x)) =>’5’ print(int(w)) =>
y=7.6 ValueError:
print(int(y)) => 7 invalid literal for int() with base 10: '4.5'
print(str(y)) => ‘7.6’
Jaber Kouki - Python 32
8 Exercices

Déterminer le résultat de chacune des instructions suivantes:


– (1+2)**3
– "Da" * 4
– "Da" + 3
– ("Pa"+"La") * 2
– ("Da"*4) / 2
– 5/2
– 5 // 2
– 5%2

33
8 Exercices

Déterminer le résultat de chacune des instructions suivantes:


– str(4) * int("3")
– int("3") + float("3.2")
– str(3) * float("3.2")
– str(3/4) * 2
– r , pi = 12, 3.14159
– s = pi * r**2
– print(s)
– print(type(r), type(pi), type(s))

Jaber Kouki - Python 34


9 Affichage La fonction print()

• la fonction print() affiche l’argument qu’on lui passe entre


parenthèses et un retour à ligne.

• On peut supprimer le retour à la ligne en passant l’argument


end="" à la fonction print().

35
9 Affichage La fonction print()

• le caractère « ; » sert à séparer plusieurs instructions Python sur


une même ligne.

• La fonction print() peut également afficher le contenu d’une


variable quel que soit son type (entier, réel, string).

36
9 Affichage La fonction print()

• Il est également possible d’afficher le contenu de plusieurs variables


(quel que soit leur type) en les séparant par des virgules :

• Pour afficher des chaînes de caractères l’une à côté de l’autre, sans


espace, on peut soit les concaténer, soit utiliser l’argument par mot-
clé sep avec une chaîne de caractères vide :

37
9 Affichage Écriture formatée

• La méthode .format() permet une meilleure organisation de


l’affichage des variables.

• les accolades vides {} précisent l’endroit où le contenu de la variable


doit être inséré.
• l’instruction .format(nom, age) fournie la liste des variables à
insérer, d’abord la variable nom puis la variable age.
• La méthode .format() agit sur la chaîne de caractères à laquelle elle
est attachée par le point.

Jaber Kouki - Python 38


9 Affichage Écriture formatée

• Il est possible d’indiquer entre les accolades {} dans quel ordre


afficher les variables:
– 0 pour la variable à afficher en premier,
– 1 pour la variable à afficher en second, etc.

39
9 Affichage Écriture formatée

• Pour formater un nombre décimale on peut spécifier dans les


accolades {} le format qui nous intéresse.
Exemple: Afficher un float avec deux puis trois décimales.

{:.2f}
– Les deux points : indiquent qu’on veut préciser le format.
– La lettre f indique qu’on souhaite afficher la variable sous forme d’un float.
– Les caractères .2 indiquent la précision voulue, soit ici deux chiffres après la
virgule.

40
9 Affichage Écriture formatée

• Il est possible de combiner le formatage (à droite des 2 points) ainsi


que l’emplacement des variables à substituer (à gauche des 2
points),

41
9 Affichage Écriture formatée

• Il est possible de préciser sur combien de caractères vous voulez


qu’un résultat soit écrit et comment se fait l’alignement (à gauche, à
droite ou centré).
Run:

• > spécifie un alignement à droite,


• < spécifie un alignement à gauche et
• ˆ spécifie un alignement centré.
42
9 Affichage Écriture formatée

• Ce formatage est également possible sur des chaînes de caractères


avec la lettre s (comme string) :
• L’instruction >8s signifie que l’on souhaite aligner à droite une
chaine de caractères (ici ex, Aziz) sur 8 caractères.

• L’instruction <8s signifie que l’on souhaite aligner à gauche une


chaine de caractères (ici ex, Aziz) sur 8 caractères.

43
9 Affichage Écriture formatée

• Pour les floats, il est possible de combiner le nombre de caractères


à afficher avec le nombre de décimales :

• L’instruction 7.3f signifie que l’on souhaite écrire un float avec 3


décimales et formaté sur 7 caractères.
• L’instruction 10.3f fait la même chose sur 10 caractères.

44
9 Affichage Écriture formatée

Exercice:
• En utilisant l’écriture formatée, affichez en une seule ligne les
variables a, b et c dont les valeurs sont respectivement la chaîne de
caractères "salut", le nombre entier 102 et le float 10.318.
• La variable c sera affichée avec 2 décimales.

Output: salut 102 10.32

45
10 Saisie au clavier Input()

• La plupart des scripts élaborés nécessitent à un moment ou l'autre


une intervention de l'utilisateur.
• Dans un script simple en mode texte, la méthode la plus simple
consiste à employer la fonction intégrée input().
• Cette fonction provoque une interruption dans le programme
courant.
• L'utilisateur est invité à entrer des caractères au clavier et à
terminer avec <Enter>.
• Lorsque cette touche est enfoncée, l'exécution du programme se
poursuit, et la fonction fournit en retour une valeur correspondant
à ce que l'utilisateur a entré.
• Cette valeur peut alors être assignée à une variable quelconque.

Jaber Kouki - Python 46


10 Saisie au clavier Input()

• On peut invoquer la fonction input() en laissant les parenthèses


vides. On peut aussi y placer en argument un message explicatif
destiné à l'utilisateur.
Exemple :

ou encore :

• La fonction input() renvoie toujours une chaine de caractères


indépendamment à ce que l'utilisateur a entré( chaine de
caractères, entier ou float).

47
10 Saisie au clavier Input()

• Pour cette raison, une conversion de type de cette chaîne en


nombre à l'aide de int() ou de float() est parfois obligatoire pour
faire des calculs:
Exemple:

48

Vous aimerez peut-être aussi