SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
[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)

Weitere ähnliche Inhalte

Was ist angesagt?

Chap4 Récursivité en python
Chap4 Récursivité en pythonChap4 Récursivité en python
Chap4 Récursivité en pythonMariem ZAOUALI
 
Chap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en pythonChap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en pythonMariem ZAOUALI
 
Ontologie concept applications
Ontologie concept applicationsOntologie concept applications
Ontologie concept applicationsbenouini rachid
 
Manuel des TP : Atelier Web 2
Manuel des TP : Atelier Web 2Manuel des TP : Atelier Web 2
Manuel des TP : Atelier Web 2Faycel Chaoua
 
Cours : les listes chainées Prof. KHALIFA MANSOURI
Cours : les listes chainées  Prof. KHALIFA MANSOURI Cours : les listes chainées  Prof. KHALIFA MANSOURI
Cours : les listes chainées Prof. KHALIFA MANSOURI Mansouri Khalifa
 
Architecture des Systèmes Logiciels
Architecture des Systèmes LogicielsArchitecture des Systèmes Logiciels
Architecture des Systèmes LogicielsGhazouani Mahdi
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOALilia Sfaxi
 
Présentation python
Présentation pythonPrésentation python
Présentation pythonSarah
 
Initiation au langage python
Initiation au langage python Initiation au langage python
Initiation au langage python Sarah
 
Cours python
Cours pythonCours python
Cours pythonsalmazen
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiersHeithem Abbes
 

Was ist angesagt? (20)

Chap4 Récursivité en python
Chap4 Récursivité en pythonChap4 Récursivité en python
Chap4 Récursivité en python
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
Chap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en pythonChap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en python
 
Ontologie concept applications
Ontologie concept applicationsOntologie concept applications
Ontologie concept applications
 
Manuel des TP : Atelier Web 2
Manuel des TP : Atelier Web 2Manuel des TP : Atelier Web 2
Manuel des TP : Atelier Web 2
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 
Cours : les listes chainées Prof. KHALIFA MANSOURI
Cours : les listes chainées  Prof. KHALIFA MANSOURI Cours : les listes chainées  Prof. KHALIFA MANSOURI
Cours : les listes chainées Prof. KHALIFA MANSOURI
 
Architecture des Systèmes Logiciels
Architecture des Systèmes LogicielsArchitecture des Systèmes Logiciels
Architecture des Systèmes Logiciels
 
Igl cours 3 - introduction à uml
Igl   cours 3 - introduction à umlIgl   cours 3 - introduction à uml
Igl cours 3 - introduction à uml
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOA
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 
Python avancé : Classe et objet
Python avancé : Classe et objetPython avancé : Classe et objet
Python avancé : Classe et objet
 
Les listes en Python
Les listes en PythonLes listes en Python
Les listes en Python
 
Présentation python
Présentation pythonPrésentation python
Présentation python
 
Initiation au langage python
Initiation au langage python Initiation au langage python
Initiation au langage python
 
Formation python 3
Formation python 3Formation python 3
Formation python 3
 
Cours python
Cours pythonCours python
Cours python
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
 
UML+Python
UML+PythonUML+Python
UML+Python
 
Présentation des IoT
Présentation des IoTPrésentation des IoT
Présentation des IoT
 

Ähnlich wie Chap1 Introduction à python

Programming language python 2021
Programming language python 2021Programming language python 2021
Programming language python 2021Dalila Chouaya
 
Langage de Programmation.pdf
Langage de Programmation.pdfLangage de Programmation.pdf
Langage de Programmation.pdfAboubacarDiarra10
 
M2 INAE introduction python.pdf
M2 INAE introduction python.pdfM2 INAE introduction python.pdf
M2 INAE introduction python.pdfHajer Amdouni
 
01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdfMARYAM510573
 
PPT Python.pptx
PPT Python.pptxPPT Python.pptx
PPT Python.pptxbpmana
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en pythonMariem ZAOUALI
 
COURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptxCOURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptxLuneSabsPericolo1
 
formation python.pptx
formation python.pptxformation python.pptx
formation python.pptxbpmana
 
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES (2022-2023)
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES  (2022-2023)IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES  (2022-2023)
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES (2022-2023)Tunisie collège
 
cours fortran.pptx
cours fortran.pptxcours fortran.pptx
cours fortran.pptxMED B
 
Support Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptxSupport Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptxbpmana
 
Le langage C.pdf
Le langage C.pdfLe langage C.pdf
Le langage C.pdfNoamHaythem
 
Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2Emeric Tapachès
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfHailisara
 
Formation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxFormation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxbetalab
 

Ähnlich wie Chap1 Introduction à python (20)

Python chapitre 1.pdf
Python chapitre 1.pdfPython chapitre 1.pdf
Python chapitre 1.pdf
 
Programming language python 2021
Programming language python 2021Programming language python 2021
Programming language python 2021
 
Langage de Programmation.pdf
Langage de Programmation.pdfLangage de Programmation.pdf
Langage de Programmation.pdf
 
M2 INAE introduction python.pdf
M2 INAE introduction python.pdfM2 INAE introduction python.pdf
M2 INAE introduction python.pdf
 
01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf
 
PPT Python.pptx
PPT Python.pptxPPT Python.pptx
PPT Python.pptx
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en python
 
COURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptxCOURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptx
 
formation python.pptx
formation python.pptxformation python.pptx
formation python.pptx
 
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES (2022-2023)
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES  (2022-2023)IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES  (2022-2023)
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES (2022-2023)
 
cours fortran.pptx
cours fortran.pptxcours fortran.pptx
cours fortran.pptx
 
Support Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptxSupport Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptx
 
Python
PythonPython
Python
 
Langage C
Langage CLangage C
Langage C
 
Le langage C.pdf
Le langage C.pdfLe langage C.pdf
Le langage C.pdf
 
Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdf
 
Formation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxFormation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptx
 
Python chapitre 4.pdf
Python chapitre 4.pdfPython chapitre 4.pdf
Python chapitre 4.pdf
 
Programmation en C
Programmation en CProgrammation en C
Programmation en C
 

Mehr von Mariem ZAOUALI

Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers Mariem ZAOUALI
 
Chap7 simulation numérique
Chap7 simulation numériqueChap7 simulation numérique
Chap7 simulation numériqueMariem ZAOUALI
 
Chap2 Les conteneurs en python
Chap2 Les conteneurs en pythonChap2 Les conteneurs en python
Chap2 Les conteneurs en pythonMariem ZAOUALI
 
Tp1 design patternappliques
Tp1 design patternappliquesTp1 design patternappliques
Tp1 design patternappliquesMariem ZAOUALI
 
Cours 4 intergiciels orientes messages jms
Cours 4 intergiciels orientes messages  jmsCours 4 intergiciels orientes messages  jms
Cours 4 intergiciels orientes messages jmsMariem ZAOUALI
 
Cours 2 les architectures reparties
Cours 2 les architectures repartiesCours 2 les architectures reparties
Cours 2 les architectures repartiesMariem ZAOUALI
 
Cours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corbaCours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corbaMariem ZAOUALI
 
Cours 1 les principes de base
Cours 1 les principes de baseCours 1 les principes de base
Cours 1 les principes de baseMariem ZAOUALI
 
TP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec MatlabTP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec MatlabMariem ZAOUALI
 
Comment retrouver la forme récursive
Comment retrouver la forme récursiveComment retrouver la forme récursive
Comment retrouver la forme récursiveMariem ZAOUALI
 
Correction TP4 Atelier C++ /GL2 INSAT / Tunisie
Correction TP4 Atelier C++ /GL2 INSAT / TunisieCorrection TP4 Atelier C++ /GL2 INSAT / Tunisie
Correction TP4 Atelier C++ /GL2 INSAT / TunisieMariem ZAOUALI
 
TP4 Atelier C++ /GL2 INSAT / Tunisie
TP4 Atelier C++ /GL2 INSAT / TunisieTP4 Atelier C++ /GL2 INSAT / Tunisie
TP4 Atelier C++ /GL2 INSAT / TunisieMariem ZAOUALI
 
TP3 Atelier C++/ GL2 INSAT / Tunisie
TP3 Atelier C++/ GL2 INSAT / TunisieTP3 Atelier C++/ GL2 INSAT / Tunisie
TP3 Atelier C++/ GL2 INSAT / TunisieMariem ZAOUALI
 
TP2 Atelier C++/ GL2 INSAT / Tunisie
TP2 Atelier C++/ GL2 INSAT / TunisieTP2 Atelier C++/ GL2 INSAT / Tunisie
TP2 Atelier C++/ GL2 INSAT / TunisieMariem ZAOUALI
 
TP1 Atelier C++/ GL2 INSAT / Tunisie
TP1 Atelier C++/ GL2 INSAT / TunisieTP1 Atelier C++/ GL2 INSAT / Tunisie
TP1 Atelier C++/ GL2 INSAT / TunisieMariem ZAOUALI
 
Graduation Project Presentation _ INSAT Tunisia
Graduation Project Presentation _ INSAT Tunisia Graduation Project Presentation _ INSAT Tunisia
Graduation Project Presentation _ INSAT Tunisia Mariem ZAOUALI
 

Mehr von Mariem ZAOUALI (17)

Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers
 
Chap7 simulation numérique
Chap7 simulation numériqueChap7 simulation numérique
Chap7 simulation numérique
 
Chap2 Les conteneurs en python
Chap2 Les conteneurs en pythonChap2 Les conteneurs en python
Chap2 Les conteneurs en python
 
Tp1 design patternappliques
Tp1 design patternappliquesTp1 design patternappliques
Tp1 design patternappliques
 
TP2 RMI
TP2 RMITP2 RMI
TP2 RMI
 
Cours 4 intergiciels orientes messages jms
Cours 4 intergiciels orientes messages  jmsCours 4 intergiciels orientes messages  jms
Cours 4 intergiciels orientes messages jms
 
Cours 2 les architectures reparties
Cours 2 les architectures repartiesCours 2 les architectures reparties
Cours 2 les architectures reparties
 
Cours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corbaCours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corba
 
Cours 1 les principes de base
Cours 1 les principes de baseCours 1 les principes de base
Cours 1 les principes de base
 
TP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec MatlabTP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec Matlab
 
Comment retrouver la forme récursive
Comment retrouver la forme récursiveComment retrouver la forme récursive
Comment retrouver la forme récursive
 
Correction TP4 Atelier C++ /GL2 INSAT / Tunisie
Correction TP4 Atelier C++ /GL2 INSAT / TunisieCorrection TP4 Atelier C++ /GL2 INSAT / Tunisie
Correction TP4 Atelier C++ /GL2 INSAT / Tunisie
 
TP4 Atelier C++ /GL2 INSAT / Tunisie
TP4 Atelier C++ /GL2 INSAT / TunisieTP4 Atelier C++ /GL2 INSAT / Tunisie
TP4 Atelier C++ /GL2 INSAT / Tunisie
 
TP3 Atelier C++/ GL2 INSAT / Tunisie
TP3 Atelier C++/ GL2 INSAT / TunisieTP3 Atelier C++/ GL2 INSAT / Tunisie
TP3 Atelier C++/ GL2 INSAT / Tunisie
 
TP2 Atelier C++/ GL2 INSAT / Tunisie
TP2 Atelier C++/ GL2 INSAT / TunisieTP2 Atelier C++/ GL2 INSAT / Tunisie
TP2 Atelier C++/ GL2 INSAT / Tunisie
 
TP1 Atelier C++/ GL2 INSAT / Tunisie
TP1 Atelier C++/ GL2 INSAT / TunisieTP1 Atelier C++/ GL2 INSAT / Tunisie
TP1 Atelier C++/ GL2 INSAT / Tunisie
 
Graduation Project Presentation _ INSAT Tunisia
Graduation Project Presentation _ INSAT Tunisia Graduation Project Presentation _ INSAT Tunisia
Graduation Project Presentation _ INSAT Tunisia
 

Kürzlich hochgeladen

JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...Institut de l'Elevage - Idele
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusInstitut de l'Elevage - Idele
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesInstitut de l'Elevage - Idele
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...Institut de l'Elevage - Idele
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéInstitut de l'Elevage - Idele
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...Institut de l'Elevage - Idele
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...Institut de l'Elevage - Idele
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageInstitut de l'Elevage - Idele
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirstjob4
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfSophie569778
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...Institut de l'Elevage - Idele
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de planchermansouriahlam
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Ville de Châteauguay
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 

Kürzlich hochgeladen (20)

JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentes
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversité
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdf
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de plancher
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 

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)