SlideShare une entreprise Scribd logo
[INTRODUCTION A PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 1 : Introduction à Python 1
Chapitre 1 : Introduction à Python
• Mise en place de l’environnement du travail
• Découvrir les variables, les fonctions built-in
• Manipuler les types numériques en Python
• Programmation en Python : Structures séquentielles, conditionnelles et
itératives
Es-tu prêt pour comprendre ce qu’Harry Potter est entrain de dire ?
1. Historique et choix du langage
Python se positionne, aujourd’hui, parmi les langages les plus demandés sur le
marché tels que C, C++ et java. De plus, python incorpore les principes de la
philosophie qui stipulent que les problèmes complexes peuvent être résolus d’une
manière simple. Ses développeurs l’ont prouvé en créant un langage très rapide,
simple à apprendre et à maîtriser pour développer des solutions pour de maintes
applications.
Python est un langage de haut niveau. Cela veut dire qu’il est indépendant de
l’ordinateur sur lequel il tourne. Ce genre de langage offre des bibliothèques
(ensemble de code prédéfini), que les humains peuvent comprendre et lire. Elles
seront interprétées en langage machine pour être transmises enfin au processeur
pour l’exécution.
Dans ce tableau, nous présentons quelques exemples de bibliothèques prédéfinies
dans python.
Domaine d’application Nom de la bibliothèque (module)
[INTRODUCTION A PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 1 : Introduction à Python 2
Calcul scientifique scipy, numpy,sympy
Statistiques pandas
Réseaux networkx
Cryptographie pyOpenSSL
Machine Learning tensorflow
Traitement d’images scikit-image
Gaming PyGame
Le développement du langage python a vu le jour dans les années 80. Guido van
Rossum au pays-bas a commencé son implémentation en décembre 1989. Cette
période était témoin d’une révolution en termes de développement des ordinateurs
ce qui constitue une atmosphère propice pour la création et l’innovation. Python 1.0
a été publié en 1994, Python 2.0 en 2000 et Python 3.0 en 2008. Néanmoins, Python
3.0 n’a pas été le prolongement de la version 2.0. Par conséquent, beaucoup de
développeurs ont continué l’usage de v2.0. En revanche, le futur appartient à la
version 3.0, sujet de notre cours !
2. Mise en place de l’environnement du travail
Python est disponible sur le site officiel : www.python.org.
Durant notre formation, nous utilisons Python 3. Rendez-vous sur cette page et
téléchargez Python.
On accède à Python soit en double cliquant sur l’icône nommé IDLE du bureau, soit
en utilisant le menu démarrer, la fenêtre suivante apparaît qui n’est autre que
l’environnement de développement intégré du langage :
[INTRODUCTION A PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 1 : Introduction à Python 3
Le symbole >>> est appelé l’invite de commande ou le prompt, c’est l’endroit au
niveau du quel nous allons commencer à poser des questions à Python.
3. Les variables en Python
Qu’appelle-t-on variable ?
Une variable est un emplacement mémoire réservé par un programme pour y
stocker une valeur. L’accès à la variable peut se faire soit en lecture soit en écriture
La variable se présente ainsi dans la mémoire :
Sur un exemple :
Avant de pouvoir utiliser une variable dans une expression, il faut la déclarer. La
Majorité des langages utilisent la forme suivante : déclaration du nom et du type.
Exemple en (C) :
Dans le cas de Python, l’initialisation se fait ainsi :
Attention : L’initialisation est obligatoire à la déclaration !
Il faut suivre des règles bien spécifiques si on veut nommer nos variables en Python :
• Pas d’espace -> On les remplace par ‘_’ : une_var,
• Pas de mots clé : for, while, if …
• Ne pas commencer par un chiffre,
• Pas d’accent,
• Donner un nom explicite : pour la position x ou position et non pas tutu.
[INTRODUCTION A PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 1 : Introduction à Python 4
On attribut une valeur à une variable en utilisant l’opérateur d’affectation « = ».
L’affectation est le moins prioritaire des opérateurs !
Les variables sont utilisées sans être déclarées et leurs types dépendent de leurs
contenus. Une même variable peut changer de type sans qu’il y ait d’erreurs :
Attention : il est interdit d’utiliser une variable non initialisée (en même temps) dans
une expression :
On peut effectuer des affectations simultanées (en même temps) de plusieurs
variables :
Chaque variable possède un identifiant accessible via la commande id :
Pour tester si deux variables sont identiques (possédant le même identificateur), on
utilise la commande is :
[INTRODUCTION A PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 1 : Introduction à Python 5
Remarque :
• Un programme informatique consomme essentiellement deux ressources : du
temps de traitement des processeurs, et de l'espace de stockage des
données. En machine, l'espace peut être la mémoire vive volatile ou
la mémoire de masse persistante.
• Il existe trois stratégies d'allocation de la mémoire : (1) l'allocation statique, (2)
l'allocation dynamique sur la pile, et (3) l'allocation dynamique sur le tas.
• L'allocation statique est principalement mise en place dans les langages de
programmation compilés (C, C++, Pascal…). Les langages interprétés
(PHP, Python, Perl…) ne peuvent allouer la mémoire que sur demande, lors
de l'exécution du script.
• À chacune des stratégies correspond une région mémoire du programme,
ou segment. Ces segments sont nommés text (statique), stack (pile)
et heap (tas).
Source : wikipedia
4. Les fonctions built-in
Les fonctions built-in sont celles qui vous sont fournies par Python. Elles sont chargées
automatiquement en mémoire de l’ordinateur lorsque vous ouvrez le console IDLE et
elles sont prêtes à être utilisées.
Exemple : La valeur absolue
Exemple : La conversion de types
[INTRODUCTION A PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 1 : Introduction à Python 6
Exemple : Passage entre les bases (binaires, hexa et octale) :
Exemple : les fonctions mathématiques :
La puissance
Div et mod
Le maximum et le minimum
L’arrondi
Le nombre complexe
[INTRODUCTION A PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 1 : Introduction à Python 7
Exemple : Les code ascii et caractères
Notre premier programme !
Ecrire un programme en python permettant de permuter les valeurs de x et y.
Nous avons ainsi besoin de deux variables à savoir x et y, et une autre pour le
stockage de la valeur auxiliaire. Passons, maintenant à l’écriture de la solution. Nous
avons deux modes qu’on peut utiliser :
• Ce qu’on a fait jusqu’ici est de taper des commandes. Il suffit de la
taper suivie d’une ENTREE pour obtenir le résultat de son évaluation.
Nous pouvons commenter les commandes que nous tapons, en
utilisant le symbole « # ». Tout ce qui vient après « # » ne sera pas
évalué.
• L’autre mode est le mode script. Taper des commandes ne suffit pas
pour écrire des programmes complets sous Python, c’est pourquoi
qu’on passe au mode script. Pour créer un nouveau script, on peut soit
utiliser le raccourci CRTL+N ou Files>New File. Suite à cela, une fenêtre
contenant une page blanche s’affiche. C’est bien là où on peut éditer
notre programme. Une fois terminé, on enregistre ce script avec le
raccourci CRTL+S, on le nomme en attribuant à la fin du nom
l’extension .py (prog1.py). On tape ensuite F5 pour que IDLE le prend
en considération et l’exécute.
La résolution du problème est donné comme suit :
Maintenant, écrivez ces lignes dans un script qu’on nomme « prog1.py ». Puis, tapez
F5. Vérifiez que x,y ont changé de valeurs. On peut demander dans le script
d’afficher les valeurs de x,y avec la commande « print(var) ».
Une solution élégante que Python vous propose : x,y=y,x
5. Les types numériques en Python
Python permet de manipuler deux catégories de types :
• Les types simples : les entiers, les réels, les booléens, les nombres complexes
• Les types structurés appelés aussi conteneurs qui seront traités dans la
prochaine séance
[INTRODUCTION A PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 1 : Introduction à Python 8
Commençons tout d’abord par expliciter la différence entre une expression et une
instruction. Une expression est une suite de caractères définissant une valeur. Pour
calculer cette valeur, la machine évalue l’expression. Exemple d’une expression :
L’instruction permet de changer les valeurs dans les variables. Par exemple,
l’affectation est une instruction. En général, en python, les instructions n’ont pas de
valeur.
Les types des expressions : Le type d’une expression permet de l’interpréter. C’est la
syntaxe qui indique le typage de l’instruction.
65 est interprété comme un entier non signé
-63 est interprété comme un entier signé
A est interprété comme un caractère
True est interprété comme un booléen
Pour évaluer le type d’une expression, nous utilisons en Python type(expression).
Dans la plupart des langages de programmation, une expression est :
• Soit une constante comme 42 ;
• Soit un nom de variable
• Soit une expression entre parenthèse comme en mathématique (2-3) ;
• Soit composée de plusieurs expressions réunies par des opérateurs comme
1+(4-6)*3/2 ;
• Soit composée d’une fonction appliquée à d’autre expression comme fact(4)
Les opérateurs numériques en Python sont présentés dans le tableau suivant ;
+ Addition
- Soustraction ou inversion de signe
* Multiplication
[INTRODUCTION A PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 1 : Introduction à Python 9
/ Division décimale
// Division entière
% Modulo(reste de la division euclidienne)
** exponentiation
Attention : l’opérateur « + » peut être utilisé pour ajouter des chaînes de caractères.
Les opérateurs logiques en Python sont présentés dans le tableau suivant ;
== Egalité (test)
!= Inégalité (test)
< Inférieur à
<= Inférieur ou égal à
> Supérieur à
>= Supérieur ou égal à
not Négation (non logique)
or Disjonction (ou logique)
and Conjonction (et logique)
On distingue aussi les opérateurs avancés d’affectation tels que : +=,-=,*=,/=,%=,**=.
Il y a aussi des commandes sur les nombres complexes :
Tenant compte de ces opérateurs, voyons leur précédence :
• Les expressions entre les parenthèses intérieures sont exécutées prioritairement
puis celles entre les parenthèses extérieures.
• En l’absence de parenthèses, la priorité des opérateurs est la suivante (du plus
au moins prioritaire)
o **
o *,/,//,%
o +,-
[INTRODUCTION A PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 1 : Introduction à Python 10
o ==, !=,<,<=,>,>=
o not
o and
o or
• Entre opérateurs de priorité identique, le calcul s’exécute de gauche à droite.
Application
Réécrire ce programme. Donner les résultats qu’il affiche.
x=3
entier=(type(x)==int)
print(entier)
entier=(x==int(x))
flottant=('.'in str(x))
6. Les commandes du module math et cmath
Outre que les commandes qui se chargent automatiquement lorsque vous ouvrez
IDLE, d’autres peuvent être aussi chargées lorsque nous en aurons besoin. Python
regroupe les commandes par thème des unités spéciales appelées modules . Un
module regroupe un ensemble de variables et de fonctions prêtes à l’utilisation. Il
suffit d’importer le module avec le mot clé import et d’appeler les fonctionnalités
qu’il offre en respectant la notation suivante :
• nomModule.nomFonction
• nomModule.nomVariable
Nous, dans cette section, chargeons deux modules :
• math : contient un ensemble de fonctions mathématiques définies sur le corps
IR telles que la racine carré, les fonctions trigonométriques etc
• cmath : offre toutes les fonctions mathématiques applicables sur les nombres
complexes.
Pour éviter d’écrire le nom de module, vous pouvez faire ainsi :
[INTRODUCTION A PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 1 : Introduction à Python 11
Le contenu du module peut être affiché en utilisant la commande dir(nomModule) :
Vous pouvez aussi consulter l’aide sur ce module en tapant help(nomModule) :
(Affichage tronqué)
7. Programmation en Python : Structures séquentielles,
conditionnelles et itératives
a. Les structures séquentielles
On utilise la commande input() pour lire l’entrée de l’utilisateur. Ce dernier peut
entrer n’importe quel type, avec la commande input(), il sera interprété comme
une chaîne de caractères. On peut documenter l’opération d’entrée en ajoutant
un message entre les () de input et qui sera affiché au moment de l’exécution de
l’instruction :
La validation de la saisie est obtenue en tapant la touche ENTREE.
On peut aussi forcer la saisie d’un entier ou un réel directement en utilisant
respectivement la commande int et float qu’on a vu auparavant :
[INTRODUCTION A PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 1 : Introduction à Python 12
Pour afficher le contenu d’une variable, il suffit d’écrire son nom ; par contre, pour
ajouter encore un message qui s’affiche avec, on utilise la commande print() :
b. Les structures conditionnelles
Présentons, dans cette section, la représentation algorithmique de la structure
conditionnelle en visualisant comment se fait l’embranchement.
Prenons un exemple écrit en Python, où nous présentons un schéma simple réduit de
la structure conditionnelle :
FinSi
[INTRODUCTION A PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 1 : Introduction à Python 13
Remarquez que Python utilise la notion d’indentation (espacement) au niveau du
bloc d’instruction ce qui lui permet de distinguer quelles sont les instructions à
exécuter si la condition est vraie. Python peut gérer automatiquement l’ensemble
de ces espacements, il suffit de mettre ‘ :’ et de taper ENTREE pour que le curseur soit
placé au bon endroit.
Attention : La FinSi n’a pas d’équivalent en Python.
Maintenant, voyons comment écrire un schéma imbriqué.
On peut également, imbriquer les tests, dont voici son implémentation
algorithmique.
FinSi
FinSi
[INTRODUCTION A PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 1 : Introduction à Python 14
La traduction de cette imbrication en Python, se présente ainsi :
Ou encore, on peut structurer nos tests de sorte à éviter les imbrications :
Application
On se demande, dans cette application, de donner le maximum entre 3 valeurs
entrées par l’utilisateur. Pour ce faire, on suivra la démarche suivante pour écrire le
script qui répond à la problématique :
• Stocker les valeurs entrées par l’utilisateur dans des variables a,b et c
• Implémenter une structure conditionnelle pour trouver le max entre les 3
variables
• Afficher le résultat final
"""Détermination du maximum d'un triplet de valeurs"""
a=int(input("Entrer un nombre entier : "))
b=int(input("Entrer un nombre entier : "))
c=int(input("Entrer un nombre entier : "))
if a>=b:
if a>=c:
[INTRODUCTION A PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 1 : Introduction à Python 15
max=a
else:
max=c
else:
if b>=c:
max=b
else:
max=c
print("Le maximum parmi {}, {} et {} est {}.".format(a,b,c,max))
c. Les structures itératives : Les boucles
La boucle ou la structure itérative sert à répéter un nombre entier de fois la même
instruction.
• La boucle inconditionnelle : arrêt de la boucle après un nombre fixé
d’itérations,
• La boucle conditionnelle : arrêt de la boucle suivant le résultat d’un test.
Commençons par la boucle while :
On peut l’utiliser pour traduire « Tant que…Faire »
• On l’utilise si le nombre de fois est connu à l’avance
• Durée imprévisible du traitement
On peut l’utiliser aussi pour traduire « Répéter..Jusqu’à » :
Passons maintenant à la boucle for : Cette boucle emploie les intervalles. Python
offre un objet spécial appelé range qui représente un intervalle qui n’est autre
[INTRODUCTION A PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 1 : Introduction à Python 16
qu’une suite de valeurs discrètes (et pas réelles). La syntaxe générale de la
commande range est la suivante :
range(BI,BS,pas)
• BI= borne inférieure par défaut égale à 0
• BS=borne supérieure jamais atteinte (on s’arrête toujours en BS-1)
• pas= le pas est par défaut égale à 1 pouvant être un entier négatif ou positif.
On peut utiliser une boucle for pour itérer les éléments d’un conteneur (notion qui va
être traité pendant la séance prochaine). La forme générale de la boucle est la
suivante :
for i in conteneur : …
On peut utiliser « break », « continue » et « else » dans une boucle !
Exemple de continue : Permet de sauter une boucle et de passer à la boucle
suivante :
[INTRODUCTION A PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 1 : Introduction à Python 17
Exemple de break : Permet de quitter la boucle quand une condition est vraie :
Exemple de else : Permet d’effectuer un traitement alternatif quand une boucle se
termine !
Application
Demander à l’utilisateur de vous entrer une valeur et afficher ses diviseurs.
#Diviseurs de n
n=input(“donner n”)
for k in range(1,n+1):
if n%k==0:
print(k)

Contenu connexe

PPTX
Formation python 3
PPTX
Présentation python
PDF
Manuel des TP : Atelier Web 2
PPTX
Chapitre1: Langage Python
PDF
Support de cours technologie et application m.youssfi
PPTX
Fondamentaux d’une API REST
PDF
Polymorphisme
PDF
Chap2 Les conteneurs en python
Formation python 3
Présentation python
Manuel des TP : Atelier Web 2
Chapitre1: Langage Python
Support de cours technologie et application m.youssfi
Fondamentaux d’une API REST
Polymorphisme
Chap2 Les conteneurs en python

Tendances (20)

PDF
Support de cours Spring M.youssfi
PPSX
Fondamentaux java
PPTX
Chp3 - Les Services Web
PDF
Support du cours : Programmation Web 2
PDF
Cours python avancé
PPTX
PDF
Fascicule de tp atelier développement web
PDF
Atelier Python 2eme partie par Achraf Kacimi El Hassani
PPTX
Les Streams de Java 8
PPTX
Formation python
PDF
Chapitre5: Classes et objets
PPTX
Introduction à Python
PDF
Cours java
PDF
Support de cours angular
PDF
Support POO Java première partie
PDF
React-cours.pdf
ODP
Formation PHP
PPTX
Hibernate jpa
Support de cours Spring M.youssfi
Fondamentaux java
Chp3 - Les Services Web
Support du cours : Programmation Web 2
Cours python avancé
Fascicule de tp atelier développement web
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Les Streams de Java 8
Formation python
Chapitre5: Classes et objets
Introduction à Python
Cours java
Support de cours angular
Support POO Java première partie
React-cours.pdf
Formation PHP
Hibernate jpa
Publicité

Similaire à Chap1 Introduction à python (20)

PDF
La programmation structurelle : Les Notions de Base en Python.pdf
PPTX
Programming language python 2021
PPTX
cours détaillé python premier annee OFPPT.pptx
PPTX
Introduction au langage python (Notion de base)
PPTX
Introduction au langage python notion de base
PPTX
Formation en Python_Niveau1_2023.pptx
PPT
.pptcours algorithmique et programation python pour master
PDF
apprendre-a-programmer-avec-python-3.pdf
PDF
cour informatique niveau3 programmation en Python.pdf
PDF
2-Elements de bases(variables-Opérateurs-Entrée-Sortie 2021.pdf
PPTX
Formation python micro club.net
PDF
01 - Introduction à Python chaines de caractères.pdf
PDF
pythonxxzexexzxzexzexzexzxzexezxzexzxz.pdf
PPTX
FormationPython2019.pptx
PPT
phyton introduction initiative programmation
PDF
Introduction à Python - Achraf Kacimi El Hassani
PDF
Un même algorithme peut être écrit python
PPTX
Formation_de_debutants_sur_le_python.pptx
PDF
Tp python dauphine
La programmation structurelle : Les Notions de Base en Python.pdf
Programming language python 2021
cours détaillé python premier annee OFPPT.pptx
Introduction au langage python (Notion de base)
Introduction au langage python notion de base
Formation en Python_Niveau1_2023.pptx
.pptcours algorithmique et programation python pour master
apprendre-a-programmer-avec-python-3.pdf
cour informatique niveau3 programmation en Python.pdf
2-Elements de bases(variables-Opérateurs-Entrée-Sortie 2021.pdf
Formation python micro club.net
01 - Introduction à Python chaines de caractères.pdf
pythonxxzexexzxzexzexzexzxzexezxzexzxz.pdf
FormationPython2019.pptx
phyton introduction initiative programmation
Introduction à Python - Achraf Kacimi El Hassani
Un même algorithme peut être écrit python
Formation_de_debutants_sur_le_python.pptx
Tp python dauphine
Publicité

Plus de Mariem ZAOUALI (19)

PDF
Chap5 La manipulation des iterables en python
PDF
Chap6 Manipulation des fichiers
PDF
Chap7 simulation numérique
PDF
Chap4 Récursivité en python
PDF
Chap3 programmation modulaire en python
PDF
Tp1 design patternappliques
PDF
PDF
Cours 4 intergiciels orientes messages jms
PDF
Cours 2 les architectures reparties
PDF
Cours 3 les objets distants rmi corba
PDF
Cours 1 les principes de base
PDF
TP1 Traitement d'images Génie Logiciel avec Matlab
PPTX
Comment retrouver la forme récursive
PDF
Correction TP4 Atelier C++ /GL2 INSAT / Tunisie
PDF
TP4 Atelier C++ /GL2 INSAT / Tunisie
PDF
TP3 Atelier C++/ GL2 INSAT / Tunisie
PDF
TP2 Atelier C++/ GL2 INSAT / Tunisie
PDF
TP1 Atelier C++/ GL2 INSAT / Tunisie
PPTX
Graduation Project Presentation _ INSAT Tunisia
Chap5 La manipulation des iterables en python
Chap6 Manipulation des fichiers
Chap7 simulation numérique
Chap4 Récursivité en python
Chap3 programmation modulaire en python
Tp1 design patternappliques
Cours 4 intergiciels orientes messages jms
Cours 2 les architectures reparties
Cours 3 les objets distants rmi corba
Cours 1 les principes de base
TP1 Traitement d'images Génie Logiciel avec Matlab
Comment retrouver la forme récursive
Correction TP4 Atelier C++ /GL2 INSAT / Tunisie
TP4 Atelier C++ /GL2 INSAT / Tunisie
TP3 Atelier C++/ GL2 INSAT / Tunisie
TP2 Atelier C++/ GL2 INSAT / Tunisie
TP1 Atelier C++/ GL2 INSAT / Tunisie
Graduation Project Presentation _ INSAT Tunisia

Dernier (16)

PDF
Expansion du Réseau de Gazoducs de Gaz Naturel au Brésil _ Analyse Technique ...
PPTX
A Recurrent Neural Network (RNN)s a type of artificial neural network
PDF
CHAPITRE 3 Typologie des réseaux [Enregistrement automatique] 4.pdf
PPTX
Logique séquentielle : les fondamentaux
PDF
TP de La Masse Volumique apparente et absolue
PPTX
UMAPON Cours de traitement des minerais 2.pptx
PPTX
CH1-RMELLOULI-Données des problèmes d'ordonnancement de la production.pptx
PPTX
mon_expose_de_geophysique_disposotif_de_wener.pptx
PPTX
FormationFormation e pFormationour HC .pptx
PDF
TP L’analyse granulométrique par tamisage
PDF
Visite de chantier – Projet de Polyclinique à Laghouat
PPTX
Lirrigation-et-le-drainage-en-agriculture-Principes-et-Pratiques.pptx
PPTX
COURS DE PROSPECTION MINIERE UTMSIRI - Copie.pptx
PPTX
Introduction aux Systèmes temps réel.pptx
PDF
FAQ_FORAGE_EAU_SUNRISE_ENGINEERING_GROUP_SARL2025.pdf
PDF
Arouna Toure - Senior Ingénieur Logiciel Et Chef De Produit
Expansion du Réseau de Gazoducs de Gaz Naturel au Brésil _ Analyse Technique ...
A Recurrent Neural Network (RNN)s a type of artificial neural network
CHAPITRE 3 Typologie des réseaux [Enregistrement automatique] 4.pdf
Logique séquentielle : les fondamentaux
TP de La Masse Volumique apparente et absolue
UMAPON Cours de traitement des minerais 2.pptx
CH1-RMELLOULI-Données des problèmes d'ordonnancement de la production.pptx
mon_expose_de_geophysique_disposotif_de_wener.pptx
FormationFormation e pFormationour HC .pptx
TP L’analyse granulométrique par tamisage
Visite de chantier – Projet de Polyclinique à Laghouat
Lirrigation-et-le-drainage-en-agriculture-Principes-et-Pratiques.pptx
COURS DE PROSPECTION MINIERE UTMSIRI - Copie.pptx
Introduction aux Systèmes temps réel.pptx
FAQ_FORAGE_EAU_SUNRISE_ENGINEERING_GROUP_SARL2025.pdf
Arouna Toure - Senior Ingénieur Logiciel Et Chef De Produit

Chap1 Introduction à python

  • 1. [INTRODUCTION A PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 1 : Introduction à Python 1 Chapitre 1 : Introduction à Python • Mise en place de l’environnement du travail • Découvrir les variables, les fonctions built-in • Manipuler les types numériques en Python • Programmation en Python : Structures séquentielles, conditionnelles et itératives Es-tu prêt pour comprendre ce qu’Harry Potter est entrain de dire ? 1. Historique et choix du langage Python se positionne, aujourd’hui, parmi les langages les plus demandés sur le marché tels que C, C++ et java. De plus, python incorpore les principes de la philosophie qui stipulent que les problèmes complexes peuvent être résolus d’une manière simple. Ses développeurs l’ont prouvé en créant un langage très rapide, simple à apprendre et à maîtriser pour développer des solutions pour de maintes applications. Python est un langage de haut niveau. Cela veut dire qu’il est indépendant de l’ordinateur sur lequel il tourne. Ce genre de langage offre des bibliothèques (ensemble de code prédéfini), que les humains peuvent comprendre et lire. Elles seront interprétées en langage machine pour être transmises enfin au processeur pour l’exécution. Dans ce tableau, nous présentons quelques exemples de bibliothèques prédéfinies dans python. Domaine d’application Nom de la bibliothèque (module)
  • 2. [INTRODUCTION A PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 1 : Introduction à Python 2 Calcul scientifique scipy, numpy,sympy Statistiques pandas Réseaux networkx Cryptographie pyOpenSSL Machine Learning tensorflow Traitement d’images scikit-image Gaming PyGame Le développement du langage python a vu le jour dans les années 80. Guido van Rossum au pays-bas a commencé son implémentation en décembre 1989. Cette période était témoin d’une révolution en termes de développement des ordinateurs ce qui constitue une atmosphère propice pour la création et l’innovation. Python 1.0 a été publié en 1994, Python 2.0 en 2000 et Python 3.0 en 2008. Néanmoins, Python 3.0 n’a pas été le prolongement de la version 2.0. Par conséquent, beaucoup de développeurs ont continué l’usage de v2.0. En revanche, le futur appartient à la version 3.0, sujet de notre cours ! 2. Mise en place de l’environnement du travail Python est disponible sur le site officiel : www.python.org. Durant notre formation, nous utilisons Python 3. Rendez-vous sur cette page et téléchargez Python. On accède à Python soit en double cliquant sur l’icône nommé IDLE du bureau, soit en utilisant le menu démarrer, la fenêtre suivante apparaît qui n’est autre que l’environnement de développement intégré du langage :
  • 3. [INTRODUCTION A PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 1 : Introduction à Python 3 Le symbole >>> est appelé l’invite de commande ou le prompt, c’est l’endroit au niveau du quel nous allons commencer à poser des questions à Python. 3. Les variables en Python Qu’appelle-t-on variable ? Une variable est un emplacement mémoire réservé par un programme pour y stocker une valeur. L’accès à la variable peut se faire soit en lecture soit en écriture La variable se présente ainsi dans la mémoire : Sur un exemple : Avant de pouvoir utiliser une variable dans une expression, il faut la déclarer. La Majorité des langages utilisent la forme suivante : déclaration du nom et du type. Exemple en (C) : Dans le cas de Python, l’initialisation se fait ainsi : Attention : L’initialisation est obligatoire à la déclaration ! Il faut suivre des règles bien spécifiques si on veut nommer nos variables en Python : • Pas d’espace -> On les remplace par ‘_’ : une_var, • Pas de mots clé : for, while, if … • Ne pas commencer par un chiffre, • Pas d’accent, • Donner un nom explicite : pour la position x ou position et non pas tutu.
  • 4. [INTRODUCTION A PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 1 : Introduction à Python 4 On attribut une valeur à une variable en utilisant l’opérateur d’affectation « = ». L’affectation est le moins prioritaire des opérateurs ! Les variables sont utilisées sans être déclarées et leurs types dépendent de leurs contenus. Une même variable peut changer de type sans qu’il y ait d’erreurs : Attention : il est interdit d’utiliser une variable non initialisée (en même temps) dans une expression : On peut effectuer des affectations simultanées (en même temps) de plusieurs variables : Chaque variable possède un identifiant accessible via la commande id : Pour tester si deux variables sont identiques (possédant le même identificateur), on utilise la commande is :
  • 5. [INTRODUCTION A PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 1 : Introduction à Python 5 Remarque : • Un programme informatique consomme essentiellement deux ressources : du temps de traitement des processeurs, et de l'espace de stockage des données. En machine, l'espace peut être la mémoire vive volatile ou la mémoire de masse persistante. • Il existe trois stratégies d'allocation de la mémoire : (1) l'allocation statique, (2) l'allocation dynamique sur la pile, et (3) l'allocation dynamique sur le tas. • L'allocation statique est principalement mise en place dans les langages de programmation compilés (C, C++, Pascal…). Les langages interprétés (PHP, Python, Perl…) ne peuvent allouer la mémoire que sur demande, lors de l'exécution du script. • À chacune des stratégies correspond une région mémoire du programme, ou segment. Ces segments sont nommés text (statique), stack (pile) et heap (tas). Source : wikipedia 4. Les fonctions built-in Les fonctions built-in sont celles qui vous sont fournies par Python. Elles sont chargées automatiquement en mémoire de l’ordinateur lorsque vous ouvrez le console IDLE et elles sont prêtes à être utilisées. Exemple : La valeur absolue Exemple : La conversion de types
  • 6. [INTRODUCTION A PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 1 : Introduction à Python 6 Exemple : Passage entre les bases (binaires, hexa et octale) : Exemple : les fonctions mathématiques : La puissance Div et mod Le maximum et le minimum L’arrondi Le nombre complexe
  • 7. [INTRODUCTION A PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 1 : Introduction à Python 7 Exemple : Les code ascii et caractères Notre premier programme ! Ecrire un programme en python permettant de permuter les valeurs de x et y. Nous avons ainsi besoin de deux variables à savoir x et y, et une autre pour le stockage de la valeur auxiliaire. Passons, maintenant à l’écriture de la solution. Nous avons deux modes qu’on peut utiliser : • Ce qu’on a fait jusqu’ici est de taper des commandes. Il suffit de la taper suivie d’une ENTREE pour obtenir le résultat de son évaluation. Nous pouvons commenter les commandes que nous tapons, en utilisant le symbole « # ». Tout ce qui vient après « # » ne sera pas évalué. • L’autre mode est le mode script. Taper des commandes ne suffit pas pour écrire des programmes complets sous Python, c’est pourquoi qu’on passe au mode script. Pour créer un nouveau script, on peut soit utiliser le raccourci CRTL+N ou Files>New File. Suite à cela, une fenêtre contenant une page blanche s’affiche. C’est bien là où on peut éditer notre programme. Une fois terminé, on enregistre ce script avec le raccourci CRTL+S, on le nomme en attribuant à la fin du nom l’extension .py (prog1.py). On tape ensuite F5 pour que IDLE le prend en considération et l’exécute. La résolution du problème est donné comme suit : Maintenant, écrivez ces lignes dans un script qu’on nomme « prog1.py ». Puis, tapez F5. Vérifiez que x,y ont changé de valeurs. On peut demander dans le script d’afficher les valeurs de x,y avec la commande « print(var) ». Une solution élégante que Python vous propose : x,y=y,x 5. Les types numériques en Python Python permet de manipuler deux catégories de types : • Les types simples : les entiers, les réels, les booléens, les nombres complexes • Les types structurés appelés aussi conteneurs qui seront traités dans la prochaine séance
  • 8. [INTRODUCTION A PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 1 : Introduction à Python 8 Commençons tout d’abord par expliciter la différence entre une expression et une instruction. Une expression est une suite de caractères définissant une valeur. Pour calculer cette valeur, la machine évalue l’expression. Exemple d’une expression : L’instruction permet de changer les valeurs dans les variables. Par exemple, l’affectation est une instruction. En général, en python, les instructions n’ont pas de valeur. Les types des expressions : Le type d’une expression permet de l’interpréter. C’est la syntaxe qui indique le typage de l’instruction. 65 est interprété comme un entier non signé -63 est interprété comme un entier signé A est interprété comme un caractère True est interprété comme un booléen Pour évaluer le type d’une expression, nous utilisons en Python type(expression). Dans la plupart des langages de programmation, une expression est : • Soit une constante comme 42 ; • Soit un nom de variable • Soit une expression entre parenthèse comme en mathématique (2-3) ; • Soit composée de plusieurs expressions réunies par des opérateurs comme 1+(4-6)*3/2 ; • Soit composée d’une fonction appliquée à d’autre expression comme fact(4) Les opérateurs numériques en Python sont présentés dans le tableau suivant ; + Addition - Soustraction ou inversion de signe * Multiplication
  • 9. [INTRODUCTION A PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 1 : Introduction à Python 9 / Division décimale // Division entière % Modulo(reste de la division euclidienne) ** exponentiation Attention : l’opérateur « + » peut être utilisé pour ajouter des chaînes de caractères. Les opérateurs logiques en Python sont présentés dans le tableau suivant ; == Egalité (test) != Inégalité (test) < Inférieur à <= Inférieur ou égal à > Supérieur à >= Supérieur ou égal à not Négation (non logique) or Disjonction (ou logique) and Conjonction (et logique) On distingue aussi les opérateurs avancés d’affectation tels que : +=,-=,*=,/=,%=,**=. Il y a aussi des commandes sur les nombres complexes : Tenant compte de ces opérateurs, voyons leur précédence : • Les expressions entre les parenthèses intérieures sont exécutées prioritairement puis celles entre les parenthèses extérieures. • En l’absence de parenthèses, la priorité des opérateurs est la suivante (du plus au moins prioritaire) o ** o *,/,//,% o +,-
  • 10. [INTRODUCTION A PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 1 : Introduction à Python 10 o ==, !=,<,<=,>,>= o not o and o or • Entre opérateurs de priorité identique, le calcul s’exécute de gauche à droite. Application Réécrire ce programme. Donner les résultats qu’il affiche. x=3 entier=(type(x)==int) print(entier) entier=(x==int(x)) flottant=('.'in str(x)) 6. Les commandes du module math et cmath Outre que les commandes qui se chargent automatiquement lorsque vous ouvrez IDLE, d’autres peuvent être aussi chargées lorsque nous en aurons besoin. Python regroupe les commandes par thème des unités spéciales appelées modules . Un module regroupe un ensemble de variables et de fonctions prêtes à l’utilisation. Il suffit d’importer le module avec le mot clé import et d’appeler les fonctionnalités qu’il offre en respectant la notation suivante : • nomModule.nomFonction • nomModule.nomVariable Nous, dans cette section, chargeons deux modules : • math : contient un ensemble de fonctions mathématiques définies sur le corps IR telles que la racine carré, les fonctions trigonométriques etc • cmath : offre toutes les fonctions mathématiques applicables sur les nombres complexes. Pour éviter d’écrire le nom de module, vous pouvez faire ainsi :
  • 11. [INTRODUCTION A PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 1 : Introduction à Python 11 Le contenu du module peut être affiché en utilisant la commande dir(nomModule) : Vous pouvez aussi consulter l’aide sur ce module en tapant help(nomModule) : (Affichage tronqué) 7. Programmation en Python : Structures séquentielles, conditionnelles et itératives a. Les structures séquentielles On utilise la commande input() pour lire l’entrée de l’utilisateur. Ce dernier peut entrer n’importe quel type, avec la commande input(), il sera interprété comme une chaîne de caractères. On peut documenter l’opération d’entrée en ajoutant un message entre les () de input et qui sera affiché au moment de l’exécution de l’instruction : La validation de la saisie est obtenue en tapant la touche ENTREE. On peut aussi forcer la saisie d’un entier ou un réel directement en utilisant respectivement la commande int et float qu’on a vu auparavant :
  • 12. [INTRODUCTION A PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 1 : Introduction à Python 12 Pour afficher le contenu d’une variable, il suffit d’écrire son nom ; par contre, pour ajouter encore un message qui s’affiche avec, on utilise la commande print() : b. Les structures conditionnelles Présentons, dans cette section, la représentation algorithmique de la structure conditionnelle en visualisant comment se fait l’embranchement. Prenons un exemple écrit en Python, où nous présentons un schéma simple réduit de la structure conditionnelle : FinSi
  • 13. [INTRODUCTION A PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 1 : Introduction à Python 13 Remarquez que Python utilise la notion d’indentation (espacement) au niveau du bloc d’instruction ce qui lui permet de distinguer quelles sont les instructions à exécuter si la condition est vraie. Python peut gérer automatiquement l’ensemble de ces espacements, il suffit de mettre ‘ :’ et de taper ENTREE pour que le curseur soit placé au bon endroit. Attention : La FinSi n’a pas d’équivalent en Python. Maintenant, voyons comment écrire un schéma imbriqué. On peut également, imbriquer les tests, dont voici son implémentation algorithmique. FinSi FinSi
  • 14. [INTRODUCTION A PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 1 : Introduction à Python 14 La traduction de cette imbrication en Python, se présente ainsi : Ou encore, on peut structurer nos tests de sorte à éviter les imbrications : Application On se demande, dans cette application, de donner le maximum entre 3 valeurs entrées par l’utilisateur. Pour ce faire, on suivra la démarche suivante pour écrire le script qui répond à la problématique : • Stocker les valeurs entrées par l’utilisateur dans des variables a,b et c • Implémenter une structure conditionnelle pour trouver le max entre les 3 variables • Afficher le résultat final """Détermination du maximum d'un triplet de valeurs""" a=int(input("Entrer un nombre entier : ")) b=int(input("Entrer un nombre entier : ")) c=int(input("Entrer un nombre entier : ")) if a>=b: if a>=c:
  • 15. [INTRODUCTION A PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 1 : Introduction à Python 15 max=a else: max=c else: if b>=c: max=b else: max=c print("Le maximum parmi {}, {} et {} est {}.".format(a,b,c,max)) c. Les structures itératives : Les boucles La boucle ou la structure itérative sert à répéter un nombre entier de fois la même instruction. • La boucle inconditionnelle : arrêt de la boucle après un nombre fixé d’itérations, • La boucle conditionnelle : arrêt de la boucle suivant le résultat d’un test. Commençons par la boucle while : On peut l’utiliser pour traduire « Tant que…Faire » • On l’utilise si le nombre de fois est connu à l’avance • Durée imprévisible du traitement On peut l’utiliser aussi pour traduire « Répéter..Jusqu’à » : Passons maintenant à la boucle for : Cette boucle emploie les intervalles. Python offre un objet spécial appelé range qui représente un intervalle qui n’est autre
  • 16. [INTRODUCTION A PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 1 : Introduction à Python 16 qu’une suite de valeurs discrètes (et pas réelles). La syntaxe générale de la commande range est la suivante : range(BI,BS,pas) • BI= borne inférieure par défaut égale à 0 • BS=borne supérieure jamais atteinte (on s’arrête toujours en BS-1) • pas= le pas est par défaut égale à 1 pouvant être un entier négatif ou positif. On peut utiliser une boucle for pour itérer les éléments d’un conteneur (notion qui va être traité pendant la séance prochaine). La forme générale de la boucle est la suivante : for i in conteneur : … On peut utiliser « break », « continue » et « else » dans une boucle ! Exemple de continue : Permet de sauter une boucle et de passer à la boucle suivante :
  • 17. [INTRODUCTION A PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 1 : Introduction à Python 17 Exemple de break : Permet de quitter la boucle quand une condition est vraie : Exemple de else : Permet d’effectuer un traitement alternatif quand une boucle se termine ! Application Demander à l’utilisateur de vous entrer une valeur et afficher ses diviseurs. #Diviseurs de n n=input(“donner n”) for k in range(1,n+1): if n%k==0: print(k)