SlideShare une entreprise Scribd logo
Introduction
à Python
Abdoulaye DIENG 1Septembre 2020
Objectif général
Acquérir les connaissances nécessaires à la
programmation avec le langage Python
2
Objectifs spécifiques
• Mémoriser des données primitives
• Traiter des données
• Communiquer avec l’extérieur
• Contrôler le flux d’exécution des instructions
• Mémoriser des données composites
• Découper et réutiliser du code
3
Sommaire
1) Qu’est que Python ?
2) Environnement de développement
3) Variables
4) Types primitifs
5) Opérateurs
6) Entrée et sortie de base
7) Structures de contrôle
8) Listes
9) Tuples
10) Dictionnaires
11) Fonctions
12) Modules 4
Qu’est ce que Python
Langage de programmation interprété, multi-paradigme
(fonctionnel et orienté objet) et multiplateforme (Windows,
Linux, macOS, Android et iOS)
Offre des outils de haut niveau et une syntaxe simple
Créé par Guido Van Russom en 1989
Dernière version 3.8 en sept 2020
Usage :
 Scripts pour automatiser des tâches
 Analyse de données
 Calcul numérique
 Développement web
 Instagram, YouTube, Dropbox, …
5
Environnement de dev
installation de Python
Selon le SE, télécharger le fichier d'installation de Python à
l’URL https://www.python.org/downloads/
Installer Python sous Windows
exécuter le fichier d'installation et suivre les étapes
Installer Python sous Mac OS X
Ouvrir le fichier .dmg, faire un double-clic sur le paquet
d'installation Python.mpkg et suivre les étapes
Installer Python sous Linux
1) Décompresser l'archive : tar -xzf archive
2) Se mettre dans le dossier créé
3) Exécuter le script configure : ./configure
4) Compiler
make puis make install en tant que super-utilisateur.
6
Environnement de dev
édition et exécution d’un script Python
Pour éditer un script python
• Créer le dossier « exemples-python » : lieu de stockage de
tous les exemples du cours
• À l’aide d’un éditeur de texte, créer un nouveau fichier
« nomScript.py » dans « exemples-python »
Pour exécuter un script python
• Lancer l’invite de commande (Windows) ou le terminal (Mac
ou Linux)
• Se placer dans « exemples-python »
• Lancer la commande
python nomScript.py (sous Windows)
python3 nomScript.py (sous Mac OS/Linux)
7
Environnement de dev
interpréteur de Python
L’interpréteur convertit les instructions Python en un langage
compréhensible par l’ordinateur
Il peut être utilisé pour exécuter une instruction
Pour ouvrir l’interpréteur
• Lancer l’invite de commande ou le terminal
• taper python ou python3
Résultat : triple chevrons
8
Variable
Variable : emplacement mémoire pour le stockage
d’une donnée
En python, pas de déclaration de variable :
une variable est créée lors de son initialisation
Exemples
age = 26
prenom, taille = "Ali", 1.85
juste = correct = True
Python est un langage dont le typage est dynamique : la même
variable peut avoir différents types au cours de son existence
Quelques fonctions natives
• del
• type
9
v
a
l
e
u
r
identificateur
Types primitifs
Type : permet de savoir comment stocker et traiter une
donnée
int : entier signé
float : nombre à virgule flottante
Ex : 2.5e2 = 2.5 x 102 = 250
str : chaîne de caractères
Ex : 'Bonjour’ = "Bonjour"
'J'aime le Python!'
"Chaînensurnplusieursnlignes"
"""Autre chaîne
sur plusieurs
lignes"""
bool : booléen (True ou False)
Valeurs fausses : False, None, 0, 0.0, ''
Qlq fonctions de conversion
int(), float(), … 10
Opérateurs
Arithmétiques
+ , - , * , ** (exposant), / , // (division entière), %
+ et * opèrent sur des str et sur des listes
assignation
= (affectation), += (ajouter à), *=, /=, -=, %=
logiques
and (et), or (ou), not (non)
comparaison
== , != , < , <= , > , >=
11
Entrée et sortie de base
Un programme peut avoir des interactions avec l'utilisateur.
input() invite un utilisateur à saisir une donnée pour la
retourner sous la forme d’une chaîne de caractères.
Syntaxe : input([prompt])
print() permet d’afficher des données
Syntaxe
print(valeur(s), sep=' ', end='n', file=sys.stdout, flush=False)
exemple-io.py
12
Structures de contrôle
présentation
Par défaut, les instructions d’un programme sont exécutées d’une
manière séquentielle.
Exemple :
Parfois, il est nécessaire qu’un traitement (une ou +sieurs
instructions) ne soit pas systématiquement exécuté ou soit
exécuté plusieurs fois :
d’où l’intérêt des structures de contrôle.
Deux grands types de structures de contrôle :
• structures conditionnelles ou tests ;
• structures répétitives (ou itératives) ou boucles.
13
Structures de contrôle
conditionnelles - Syntaxe
Opérateur ternaire
[on_true] if [condition] else
[on_false]
14
if condition_1 :
traitement_1
elif condition_2 :
traitement_2
… # suite de elif
[else :
traitement_n]
• exemple-if.py
if condition :
traitement_1
[else :
traitement_2 ]
Structures de contrôle
répétitives - Syntaxe
while condition :
traitement
for element in objet_iterable :
traitement
15
Structures de contrôle
exemple-while.py – exemple-for.py
16
x
• exemple-while.py
• exemple-for.py
Listes
présentation
Liste
• permet de regrouper des données connexes
• Les données sont modifiables et repérées par des
indices (0, 1, …, -2, -1)
Syntaxes de définition
• nom_liste = [ ] ou nom_liste = [ elt1, elt2, … ]
• nom_liste = list() ou nom_liste = list((elt1, elt2, …))
• Ex : ma_liste = list(('p','y')) et ta_liste = ['t','h','o','n',3]
Accès à un élément
• nomListe[indice]
• Ex : ma_liste[1] contient "y" et ta_liste[-1] contient 3
Parcourir une liste
for element in nom_liste :
Vérifier la présence (ou non) d’un élément dans une liste
if element [not] in nom_liste : 17
Listes
quelques opérations
len(nom_liste) retourne le nombre d’éléments
min(nom_liste)/max(nom_liste) retourne le minimum (ou
maximum) d’une liste
.append(element) ajoute l’élément spécifié à la fin
.insert(indice,element) ajoute un élément à l’indice spécifié
.remove(element) supprime la 1ère occurrence de l’élément spécifié
.pop([indice]) supprime le dernier élt ou l’élt à l’indice spécifié
.clear() vide entièrement une liste
.index(element) retourne l’indice de la 1ère occur. de l’élt spécifié
.count(element) retourne le nbr d’occurrences de l’élément spécifié
.sort() trie une liste dans l’ordre croissant
.reverse() inverse l’ordre des éléments d’une liste
18
Tuples
présentation
Tuple
• permet de regrouper des données connexes
• Les données sont non-modifiables et repérées par des
indices (0, 1, …, -2, -1)
Syntaxes de définition
• nom_tuple = () ou nom_tuple = ( elt1, elt2, … )
• nom_tuple = tuple() ou nom_tuple = tuple((elt1, elt2, …))
• Ex : mon_tuple = tuple(('p','y'))
ton_tuple = ('t','h','o','n',3)
Accès à un élément (comme pour une liste)
Parcourir un tuple (comme pour une liste)
Vérifier la présence d’un élément (comme pour une liste)
19
Tuples
quelques opérations
len(nom_tuple) retourne le nombre d’éléments
del supprime complètement un tuple
.count(element) retourne le nbr d’occurrences de l’élément
spécifié
.index(element) retourne l’indice de la 1ère occurrence de
l’élément spécifié
20
Dictionnaires
présentation
Dictionnaire
• permet de regrouper des données connexes
• Les données sont modifiables et repérées par des clés
Syntaxes de définition
• nom_dico = {} ou nom_dico = {'clé1':val1, 'clé2':val2, … }
• nom_dico = dict() ou nom_dico = dict(clé1=val1, clé2=val2,
…)
• Ex : pers1 = dict(nom='Yero Sow', age=25, taille=1.83)
pers2 = {'nom':'Ngor Diouf', 'age':23, 'taille':1.85}
Accès à un élément
• nom_dico['clé']
• Ex : pers1['age'] contient 25
Ajouter un élément
nom_dico['new_clé'] = new_value
Parcourir un dictionnaire donne accès aux clés
for nom_clé in nom_dico
Utiliser l’interpréteur pour tester 21
Dictionnaires
quelques opérations
len(nom_dico) retourne le nombre d’éléments
.pop(clé) supprime la valeur de la clé spécifiée
.popitem() supprime la dernier élément
.clear() vide entièrement un dictionnaire
.get(clé) retourne la valeur de la clé spécifiée
.update({'clé_A' : val_A, 'clé_B' : val_B,…} ) modifie ou ajoute
un ou +sieurs éléments
.values() retourne la liste contenant les valeurs
for val in nom_dico.values() pour parcourir les valeurs
.items() retourne la liste des éléments sous la forme de tuples
(clé,valeur)
for key, val in nom_dico.items() pour parcourir clés et valeurs
22
Fonctions
présentation
Fonction = ensemble d’instructions portant un nom
Utilité :
• implémenter la décomposition d’un problème en sous-problèmes
• faciliter la lisibilité, le débogage et la réutilisabilité/factorisation
Une fonction est définie avec un nom, un corps et d’éventuels arguments (ou
paramètres formel) lui permettant de communiquer
Une fonction n’est exécutée que lorsqu’elle est appelée
Lors de l’appel, tout paramètre formel est associé à une variable ou une
constante nommée « paramètre effectif » du code appelant
Tout passage de paramètre se fait par référence : tout changement du
paramètre formel se reflète sur le paramètre effectif
Après son exécution une fonction peut retourner explicitement une valeur 23
Fonctions
syntaxe
Syntaxe de la définition d’une fonction
def nom_fonction([param_1 [, param_2, …] ] ) :
séquence d'instructions
[return expression]
L'appel d'une fonction qui :
• ne retourne pas de valeur constitue une instruction en lui-
même ;
• retourne une valeur est remplacé à l'exécution par cette valeur
retournée ; cet appel doit forcément se trouver dans un calcul,
une affectation, un affichage, un test, etc.
24
Fonctions
exemple-fonction-sans-return.py
25
Fonctions
exemple-fonction-avec-return.py
26
Fonction
lambda
Une fonction lambda permet d'avoir une syntaxe plus courte
 Elle prend un nombre quelconque d’arguments et retourne la
valeur d’une expression unique
Syntaxe
• lambda [arg1 [,arg2,.....argn]] : expression
• Pas de parenthèses, ni de return
27
Fonction
exemple-lambda-multiplier.py
28
Fonction
exemple-lambda-myfunc.py
29
Module
présentation
Un module est un ensemble de codes encapsulés dans un script
et qui peut être utilisé par d’autres scripts.
Intérêts : faciliter la réutilisation, la lisibilité, le débogage, le
travail d’équipe, …
Exemples de modules natifs
crypt, csv, datetime, math, …
liste complète : commande help('modules')
Possibilité de créer ses propres modules
30
Module
création
Un module peut être un script contenant des variables et des
fonctions dont certaines seront utilisables par d’autres scripts
Exemple (circle.py)
31
Module
importation d’un module
L’importation permet à un script d’utiliser le code d’un module
Syntaxes d’importation
1) import nom_module
2) from nom_module import nom_membre
3) from nom_module import *
Syntaxes d’accès à un membre d’un module importé
1) nom_module.nom_membre
2) nom_membre si l’importation est faite avec 2) ou 3)
Exemple (use-circle.py)
32
Références
• https://docs.python.org/3.8/
• https://openclassrooms.com/fr/courses/235344-
apprenez-a-programmer-en-python
• https://www.pierre-giraud.com/python-apprendre-
programmer-cours/
• https://www.geeksforgeeks.org/python-
programming-language/
33

Contenu connexe

Tendances

Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Shellmates
 
Formation python 3
Formation python 3Formation python 3
Formation python 3
WajihBaghdadi1
 
TP C++ : Correction
TP C++ : CorrectionTP C++ : Correction
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en Python
ABDESSELAM ARROU
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
Sana Aroussi
 
Les listes en Python
Les listes en PythonLes listes en Python
Les listes en Python
ABDESSELAM ARROU
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
slimyaich3
 
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismePOO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et Polymorphisme
Mouna Torjmen
 
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
Mariem ZAOUALI
 
Python avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiersPython avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiers
ECAM Brussels Engineering School
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
Aziz Darouichi
 
Cours langage c
Cours langage cCours langage c
Cours langage c
coursuniv
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
Lilia Sfaxi
 
Chap4 Récursivité en python
Chap4 Récursivité en pythonChap4 Récursivité en python
Chap4 Récursivité en python
Mariem ZAOUALI
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement web
Houda TOUKABRI
 
Tp n 3 linux
Tp n 3 linuxTp n 3 linux
Tp n 3 linux
Amir Souissi
 
Python avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exceptionPython avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exception
ECAM Brussels Engineering School
 
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Mansouri Khalifa
 
Cours des bases de données
Cours des bases de données Cours des bases de données
Cours des bases de données
yassine kchiri
 
Cours python
Cours pythonCours python
Cours python
salmazen
 

Tendances (20)

Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El Hassani
 
Formation python 3
Formation python 3Formation python 3
Formation python 3
 
TP C++ : Correction
TP C++ : CorrectionTP C++ : Correction
TP C++ : Correction
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en Python
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
Les listes en Python
Les listes en PythonLes listes en Python
Les listes en Python
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismePOO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et Polymorphisme
 
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
 
Python avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiersPython avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiers
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
Cours langage c
Cours langage cCours langage c
Cours langage c
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
Chap4 Récursivité en python
Chap4 Récursivité en pythonChap4 Récursivité en python
Chap4 Récursivité en python
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement web
 
Tp n 3 linux
Tp n 3 linuxTp n 3 linux
Tp n 3 linux
 
Python avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exceptionPython avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exception
 
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
 
Cours des bases de données
Cours des bases de données Cours des bases de données
Cours des bases de données
 
Cours python
Cours pythonCours python
Cours python
 

Similaire à Introduction à Python

cour informatique niveau3 programmation en Python.pdf
cour informatique niveau3 programmation en  Python.pdfcour informatique niveau3 programmation en  Python.pdf
cour informatique niveau3 programmation en Python.pdf
Nanchi6
 
Python.pptx
Python.pptxPython.pptx
Python.pptx
Jaouad Rachek
 
Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptx
olfaharrabi2
 
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Abdelouahed Abdou
 
Les fondamentaux du langage C
Les fondamentaux du langage CLes fondamentaux du langage C
Les fondamentaux du langage C
Abdoulaye Dieng
 
3 - programmation modulaire avec python.pdf
3 - programmation modulaire avec python.pdf3 - programmation modulaire avec python.pdf
3 - programmation modulaire avec python.pdf
LaodouKY
 
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
MARYAM510573
 
Formation python micro club.net
Formation python micro club.netFormation python micro club.net
Formation python micro club.net
Zakaria SMAHI
 
langage C++
langage C++langage C++
langage C++
mohamednacim
 
Exploiter php 5
Exploiter php 5Exploiter php 5
Exploiter php 5
halleck45
 
Php1
Php1Php1
Linux Administrateur
Linux AdministrateurLinux Administrateur
Linux Administrateur
Open Source School
 
Algo inf102 2007
Algo inf102 2007Algo inf102 2007
Algo inf102 2007
SergeCowouvi1
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
Aziz Darouichi
 
TAD (1).pptx
TAD (1).pptxTAD (1).pptx
TAD (1).pptx
SergeOngolo
 
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
 
Développement informatique : Programmation fonctionnelle, décorateur et génér...
Développement informatique : Programmation fonctionnelle, décorateur et génér...Développement informatique : Programmation fonctionnelle, décorateur et génér...
Développement informatique : Programmation fonctionnelle, décorateur et génér...
ECAM Brussels Engineering School
 
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
MSDEVMTL
 

Similaire à Introduction à Python (20)

cour informatique niveau3 programmation en Python.pdf
cour informatique niveau3 programmation en  Python.pdfcour informatique niveau3 programmation en  Python.pdf
cour informatique niveau3 programmation en Python.pdf
 
Python.pptx
Python.pptxPython.pptx
Python.pptx
 
Python chapitre 4.pdf
Python chapitre 4.pdfPython chapitre 4.pdf
Python chapitre 4.pdf
 
Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptx
 
Theme 7
Theme 7Theme 7
Theme 7
 
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
 
Les fondamentaux du langage C
Les fondamentaux du langage CLes fondamentaux du langage C
Les fondamentaux du langage C
 
3 - programmation modulaire avec python.pdf
3 - programmation modulaire avec python.pdf3 - programmation modulaire avec python.pdf
3 - programmation modulaire avec 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
 
Formation python micro club.net
Formation python micro club.netFormation python micro club.net
Formation python micro club.net
 
langage C++
langage C++langage C++
langage C++
 
Exploiter php 5
Exploiter php 5Exploiter php 5
Exploiter php 5
 
Php1
Php1Php1
Php1
 
Linux Administrateur
Linux AdministrateurLinux Administrateur
Linux Administrateur
 
Algo inf102 2007
Algo inf102 2007Algo inf102 2007
Algo inf102 2007
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 
TAD (1).pptx
TAD (1).pptxTAD (1).pptx
TAD (1).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)
 
Développement informatique : Programmation fonctionnelle, décorateur et génér...
Développement informatique : Programmation fonctionnelle, décorateur et génér...Développement informatique : Programmation fonctionnelle, décorateur et génér...
Développement informatique : Programmation fonctionnelle, décorateur et génér...
 
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
 

Plus de Abdoulaye Dieng

Introduction à React
Introduction à ReactIntroduction à React
Introduction à React
Abdoulaye Dieng
 
Fondamentaux du Référencement naturel
Fondamentaux du Référencement naturelFondamentaux du Référencement naturel
Fondamentaux du Référencement naturel
Abdoulaye Dieng
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
Abdoulaye Dieng
 
Panorama des Technologies mobiles
Panorama des Technologies mobilesPanorama des Technologies mobiles
Panorama des Technologies mobiles
Abdoulaye Dieng
 
Prise en main de WordPress
Prise en main de WordPressPrise en main de WordPress
Prise en main de WordPress
Abdoulaye Dieng
 
Initiation à Bootstrap
Initiation à BootstrapInitiation à Bootstrap
Initiation à Bootstrap
Abdoulaye Dieng
 
Introduction à Laravel
Introduction à LaravelIntroduction à Laravel
Introduction à Laravel
Abdoulaye Dieng
 
Fondamentaux d’une API REST
Fondamentaux d’une API RESTFondamentaux d’une API REST
Fondamentaux d’une API REST
Abdoulaye Dieng
 
Introduction à Angular
Introduction à AngularIntroduction à Angular
Introduction à Angular
Abdoulaye Dieng
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScript
Abdoulaye Dieng
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JS
Abdoulaye Dieng
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
Abdoulaye Dieng
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
Abdoulaye Dieng
 
Initiation à Bootstrap
Initiation à BootstrapInitiation à Bootstrap
Initiation à Bootstrap
Abdoulaye Dieng
 
Requêtes HTTP synchrones et asynchrones
Requêtes HTTPsynchrones et asynchronesRequêtes HTTPsynchrones et asynchrones
Requêtes HTTP synchrones et asynchrones
Abdoulaye Dieng
 
Introduction à jQuery
Introduction à jQueryIntroduction à jQuery
Introduction à jQuery
Abdoulaye Dieng
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScript
Abdoulaye Dieng
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
Abdoulaye Dieng
 
Introduction à HTML 5
Introduction à HTML 5Introduction à HTML 5
Introduction à HTML 5
Abdoulaye Dieng
 
Introduction à AngularJS
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJS
Abdoulaye Dieng
 

Plus de Abdoulaye Dieng (20)

Introduction à React
Introduction à ReactIntroduction à React
Introduction à React
 
Fondamentaux du Référencement naturel
Fondamentaux du Référencement naturelFondamentaux du Référencement naturel
Fondamentaux du Référencement naturel
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
 
Panorama des Technologies mobiles
Panorama des Technologies mobilesPanorama des Technologies mobiles
Panorama des Technologies mobiles
 
Prise en main de WordPress
Prise en main de WordPressPrise en main de WordPress
Prise en main de WordPress
 
Initiation à Bootstrap
Initiation à BootstrapInitiation à Bootstrap
Initiation à Bootstrap
 
Introduction à Laravel
Introduction à LaravelIntroduction à Laravel
Introduction à Laravel
 
Fondamentaux d’une API REST
Fondamentaux d’une API RESTFondamentaux d’une API REST
Fondamentaux d’une API REST
 
Introduction à Angular
Introduction à AngularIntroduction à Angular
Introduction à Angular
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScript
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JS
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
 
Initiation à Bootstrap
Initiation à BootstrapInitiation à Bootstrap
Initiation à Bootstrap
 
Requêtes HTTP synchrones et asynchrones
Requêtes HTTPsynchrones et asynchronesRequêtes HTTPsynchrones et asynchrones
Requêtes HTTP synchrones et asynchrones
 
Introduction à jQuery
Introduction à jQueryIntroduction à jQuery
Introduction à jQuery
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScript
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 
Introduction à HTML 5
Introduction à HTML 5Introduction à HTML 5
Introduction à HTML 5
 
Introduction à AngularJS
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJS
 

Introduction à Python

  • 2. Objectif général Acquérir les connaissances nécessaires à la programmation avec le langage Python 2
  • 3. Objectifs spécifiques • Mémoriser des données primitives • Traiter des données • Communiquer avec l’extérieur • Contrôler le flux d’exécution des instructions • Mémoriser des données composites • Découper et réutiliser du code 3
  • 4. Sommaire 1) Qu’est que Python ? 2) Environnement de développement 3) Variables 4) Types primitifs 5) Opérateurs 6) Entrée et sortie de base 7) Structures de contrôle 8) Listes 9) Tuples 10) Dictionnaires 11) Fonctions 12) Modules 4
  • 5. Qu’est ce que Python Langage de programmation interprété, multi-paradigme (fonctionnel et orienté objet) et multiplateforme (Windows, Linux, macOS, Android et iOS) Offre des outils de haut niveau et une syntaxe simple Créé par Guido Van Russom en 1989 Dernière version 3.8 en sept 2020 Usage :  Scripts pour automatiser des tâches  Analyse de données  Calcul numérique  Développement web  Instagram, YouTube, Dropbox, … 5
  • 6. Environnement de dev installation de Python Selon le SE, télécharger le fichier d'installation de Python à l’URL https://www.python.org/downloads/ Installer Python sous Windows exécuter le fichier d'installation et suivre les étapes Installer Python sous Mac OS X Ouvrir le fichier .dmg, faire un double-clic sur le paquet d'installation Python.mpkg et suivre les étapes Installer Python sous Linux 1) Décompresser l'archive : tar -xzf archive 2) Se mettre dans le dossier créé 3) Exécuter le script configure : ./configure 4) Compiler make puis make install en tant que super-utilisateur. 6
  • 7. Environnement de dev édition et exécution d’un script Python Pour éditer un script python • Créer le dossier « exemples-python » : lieu de stockage de tous les exemples du cours • À l’aide d’un éditeur de texte, créer un nouveau fichier « nomScript.py » dans « exemples-python » Pour exécuter un script python • Lancer l’invite de commande (Windows) ou le terminal (Mac ou Linux) • Se placer dans « exemples-python » • Lancer la commande python nomScript.py (sous Windows) python3 nomScript.py (sous Mac OS/Linux) 7
  • 8. Environnement de dev interpréteur de Python L’interpréteur convertit les instructions Python en un langage compréhensible par l’ordinateur Il peut être utilisé pour exécuter une instruction Pour ouvrir l’interpréteur • Lancer l’invite de commande ou le terminal • taper python ou python3 Résultat : triple chevrons 8
  • 9. Variable Variable : emplacement mémoire pour le stockage d’une donnée En python, pas de déclaration de variable : une variable est créée lors de son initialisation Exemples age = 26 prenom, taille = "Ali", 1.85 juste = correct = True Python est un langage dont le typage est dynamique : la même variable peut avoir différents types au cours de son existence Quelques fonctions natives • del • type 9 v a l e u r identificateur
  • 10. Types primitifs Type : permet de savoir comment stocker et traiter une donnée int : entier signé float : nombre à virgule flottante Ex : 2.5e2 = 2.5 x 102 = 250 str : chaîne de caractères Ex : 'Bonjour’ = "Bonjour" 'J'aime le Python!' "Chaînensurnplusieursnlignes" """Autre chaîne sur plusieurs lignes""" bool : booléen (True ou False) Valeurs fausses : False, None, 0, 0.0, '' Qlq fonctions de conversion int(), float(), … 10
  • 11. Opérateurs Arithmétiques + , - , * , ** (exposant), / , // (division entière), % + et * opèrent sur des str et sur des listes assignation = (affectation), += (ajouter à), *=, /=, -=, %= logiques and (et), or (ou), not (non) comparaison == , != , < , <= , > , >= 11
  • 12. Entrée et sortie de base Un programme peut avoir des interactions avec l'utilisateur. input() invite un utilisateur à saisir une donnée pour la retourner sous la forme d’une chaîne de caractères. Syntaxe : input([prompt]) print() permet d’afficher des données Syntaxe print(valeur(s), sep=' ', end='n', file=sys.stdout, flush=False) exemple-io.py 12
  • 13. Structures de contrôle présentation Par défaut, les instructions d’un programme sont exécutées d’une manière séquentielle. Exemple : Parfois, il est nécessaire qu’un traitement (une ou +sieurs instructions) ne soit pas systématiquement exécuté ou soit exécuté plusieurs fois : d’où l’intérêt des structures de contrôle. Deux grands types de structures de contrôle : • structures conditionnelles ou tests ; • structures répétitives (ou itératives) ou boucles. 13
  • 14. Structures de contrôle conditionnelles - Syntaxe Opérateur ternaire [on_true] if [condition] else [on_false] 14 if condition_1 : traitement_1 elif condition_2 : traitement_2 … # suite de elif [else : traitement_n] • exemple-if.py if condition : traitement_1 [else : traitement_2 ]
  • 15. Structures de contrôle répétitives - Syntaxe while condition : traitement for element in objet_iterable : traitement 15
  • 16. Structures de contrôle exemple-while.py – exemple-for.py 16 x • exemple-while.py • exemple-for.py
  • 17. Listes présentation Liste • permet de regrouper des données connexes • Les données sont modifiables et repérées par des indices (0, 1, …, -2, -1) Syntaxes de définition • nom_liste = [ ] ou nom_liste = [ elt1, elt2, … ] • nom_liste = list() ou nom_liste = list((elt1, elt2, …)) • Ex : ma_liste = list(('p','y')) et ta_liste = ['t','h','o','n',3] Accès à un élément • nomListe[indice] • Ex : ma_liste[1] contient "y" et ta_liste[-1] contient 3 Parcourir une liste for element in nom_liste : Vérifier la présence (ou non) d’un élément dans une liste if element [not] in nom_liste : 17
  • 18. Listes quelques opérations len(nom_liste) retourne le nombre d’éléments min(nom_liste)/max(nom_liste) retourne le minimum (ou maximum) d’une liste .append(element) ajoute l’élément spécifié à la fin .insert(indice,element) ajoute un élément à l’indice spécifié .remove(element) supprime la 1ère occurrence de l’élément spécifié .pop([indice]) supprime le dernier élt ou l’élt à l’indice spécifié .clear() vide entièrement une liste .index(element) retourne l’indice de la 1ère occur. de l’élt spécifié .count(element) retourne le nbr d’occurrences de l’élément spécifié .sort() trie une liste dans l’ordre croissant .reverse() inverse l’ordre des éléments d’une liste 18
  • 19. Tuples présentation Tuple • permet de regrouper des données connexes • Les données sont non-modifiables et repérées par des indices (0, 1, …, -2, -1) Syntaxes de définition • nom_tuple = () ou nom_tuple = ( elt1, elt2, … ) • nom_tuple = tuple() ou nom_tuple = tuple((elt1, elt2, …)) • Ex : mon_tuple = tuple(('p','y')) ton_tuple = ('t','h','o','n',3) Accès à un élément (comme pour une liste) Parcourir un tuple (comme pour une liste) Vérifier la présence d’un élément (comme pour une liste) 19
  • 20. Tuples quelques opérations len(nom_tuple) retourne le nombre d’éléments del supprime complètement un tuple .count(element) retourne le nbr d’occurrences de l’élément spécifié .index(element) retourne l’indice de la 1ère occurrence de l’élément spécifié 20
  • 21. Dictionnaires présentation Dictionnaire • permet de regrouper des données connexes • Les données sont modifiables et repérées par des clés Syntaxes de définition • nom_dico = {} ou nom_dico = {'clé1':val1, 'clé2':val2, … } • nom_dico = dict() ou nom_dico = dict(clé1=val1, clé2=val2, …) • Ex : pers1 = dict(nom='Yero Sow', age=25, taille=1.83) pers2 = {'nom':'Ngor Diouf', 'age':23, 'taille':1.85} Accès à un élément • nom_dico['clé'] • Ex : pers1['age'] contient 25 Ajouter un élément nom_dico['new_clé'] = new_value Parcourir un dictionnaire donne accès aux clés for nom_clé in nom_dico Utiliser l’interpréteur pour tester 21
  • 22. Dictionnaires quelques opérations len(nom_dico) retourne le nombre d’éléments .pop(clé) supprime la valeur de la clé spécifiée .popitem() supprime la dernier élément .clear() vide entièrement un dictionnaire .get(clé) retourne la valeur de la clé spécifiée .update({'clé_A' : val_A, 'clé_B' : val_B,…} ) modifie ou ajoute un ou +sieurs éléments .values() retourne la liste contenant les valeurs for val in nom_dico.values() pour parcourir les valeurs .items() retourne la liste des éléments sous la forme de tuples (clé,valeur) for key, val in nom_dico.items() pour parcourir clés et valeurs 22
  • 23. Fonctions présentation Fonction = ensemble d’instructions portant un nom Utilité : • implémenter la décomposition d’un problème en sous-problèmes • faciliter la lisibilité, le débogage et la réutilisabilité/factorisation Une fonction est définie avec un nom, un corps et d’éventuels arguments (ou paramètres formel) lui permettant de communiquer Une fonction n’est exécutée que lorsqu’elle est appelée Lors de l’appel, tout paramètre formel est associé à une variable ou une constante nommée « paramètre effectif » du code appelant Tout passage de paramètre se fait par référence : tout changement du paramètre formel se reflète sur le paramètre effectif Après son exécution une fonction peut retourner explicitement une valeur 23
  • 24. Fonctions syntaxe Syntaxe de la définition d’une fonction def nom_fonction([param_1 [, param_2, …] ] ) : séquence d'instructions [return expression] L'appel d'une fonction qui : • ne retourne pas de valeur constitue une instruction en lui- même ; • retourne une valeur est remplacé à l'exécution par cette valeur retournée ; cet appel doit forcément se trouver dans un calcul, une affectation, un affichage, un test, etc. 24
  • 27. Fonction lambda Une fonction lambda permet d'avoir une syntaxe plus courte  Elle prend un nombre quelconque d’arguments et retourne la valeur d’une expression unique Syntaxe • lambda [arg1 [,arg2,.....argn]] : expression • Pas de parenthèses, ni de return 27
  • 30. Module présentation Un module est un ensemble de codes encapsulés dans un script et qui peut être utilisé par d’autres scripts. Intérêts : faciliter la réutilisation, la lisibilité, le débogage, le travail d’équipe, … Exemples de modules natifs crypt, csv, datetime, math, … liste complète : commande help('modules') Possibilité de créer ses propres modules 30
  • 31. Module création Un module peut être un script contenant des variables et des fonctions dont certaines seront utilisables par d’autres scripts Exemple (circle.py) 31
  • 32. Module importation d’un module L’importation permet à un script d’utiliser le code d’un module Syntaxes d’importation 1) import nom_module 2) from nom_module import nom_membre 3) from nom_module import * Syntaxes d’accès à un membre d’un module importé 1) nom_module.nom_membre 2) nom_membre si l’importation est faite avec 2) ou 3) Exemple (use-circle.py) 32
  • 33. Références • https://docs.python.org/3.8/ • https://openclassrooms.com/fr/courses/235344- apprenez-a-programmer-en-python • https://www.pierre-giraud.com/python-apprendre- programmer-cours/ • https://www.geeksforgeeks.org/python- programming-language/ 33

Notes de l'éditeur

  1. http://pigne.org/teaching/FullStackJS/
  2. https://www.tutorialspoint.com/python3/python_numbers.htm
  3. PHP M. DIENG
  4. PHP M. DIENG
  5. PHP M. DIENG
  6. Utiliser l’interpréteur pour tester
  7. Utiliser l’interpréteur pour tester
  8. https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Fonctions/Fonctions_fl%C3%A9ch%C3%A9es