SlideShare ist ein Scribd-Unternehmen logo
1 von 33
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

Weitere ähnliche Inhalte

Was ist angesagt?

FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptxLamissGhoul1
 
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'exceptionECAM Brussels Engineering School
 
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 HassaniShellmates
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancépierrepo
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniShellmates
 
Formation python
Formation pythonFormation python
Formation pythonj_lipaz
 
Cours python
Cours pythonCours python
Cours pythonsalmazen
 
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
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en PythonABDESSELAM ARROU
 
Présentation python
Présentation pythonPrésentation python
Présentation pythonSarah
 
Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesECAM Brussels Engineering School
 
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdfLUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdfRedaBelattar
 
Exercice 1 java Héritage
Exercice 1 java HéritageExercice 1 java Héritage
Exercice 1 java HéritageNadaBenLatifa
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivitéSana Aroussi
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfslimyaich3
 

Was ist angesagt? (20)

FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptx
 
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
 
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
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancé
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El Hassani
 
Formation python
Formation pythonFormation python
Formation python
 
Cours python
Cours pythonCours python
Cours python
 
TP C++ : Correction
TP C++ : CorrectionTP C++ : Correction
TP C++ : Correction
 
Python avancé : Tuple et objet
Python avancé : Tuple et objetPython avancé : Tuple et objet
Python avancé : Tuple et objet
 
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
 
Formation python 3
Formation python 3Formation python 3
Formation python 3
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en Python
 
Présentation python
Présentation pythonPrésentation python
Présentation python
 
Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de données
 
Python.pptx
Python.pptxPython.pptx
Python.pptx
 
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdfLUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
 
Exercice 1 java Héritage
Exercice 1 java HéritageExercice 1 java Héritage
Exercice 1 java Héritage
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
Chapitre 01 - Notions de base
Chapitre 01 - Notions de baseChapitre 01 - Notions de base
Chapitre 01 - Notions de base
 

Ähnlich wie Introduction à Python

Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptxolfaharrabi2
 
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 CAbdoulaye Dieng
 
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
 
Formation python micro club.net
Formation python micro club.netFormation python micro club.net
Formation python micro club.netZakaria SMAHI
 
Exploiter php 5
Exploiter php 5Exploiter php 5
Exploiter php 5halleck45
 
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
 
Data Mining (Partie 2).pdf
Data Mining (Partie 2).pdfData Mining (Partie 2).pdf
Data Mining (Partie 2).pdfOuailChoukhairi
 
Généralités sur la notion d’Algorithme
Généralités sur la notion d’AlgorithmeGénéralités sur la notion d’Algorithme
Généralités sur la notion d’AlgorithmeInforMatica34
 
Language INtegrated Query LINQ
 Language INtegrated QueryLINQ Language INtegrated QueryLINQ
Language INtegrated Query LINQSaid Sadik
 

Ähnlich wie Introduction à Python (20)

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
 
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
 
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#
 
algo-imsi-2.pdf
algo-imsi-2.pdfalgo-imsi-2.pdf
algo-imsi-2.pdf
 
Data Mining (Partie 2).pdf
Data Mining (Partie 2).pdfData Mining (Partie 2).pdf
Data Mining (Partie 2).pdf
 
Généralités sur la notion d’Algorithme
Généralités sur la notion d’AlgorithmeGénéralités sur la notion d’Algorithme
Généralités sur la notion d’Algorithme
 
Language INtegrated Query LINQ
 Language INtegrated QueryLINQ Language INtegrated QueryLINQ
Language INtegrated Query LINQ
 
POO-chapitre6.pptx
POO-chapitre6.pptxPOO-chapitre6.pptx
POO-chapitre6.pptx
 

Mehr von Abdoulaye Dieng

Fondamentaux du Référencement naturel
Fondamentaux du Référencement naturelFondamentaux du Référencement naturel
Fondamentaux du Référencement naturelAbdoulaye Dieng
 
Panorama des Technologies mobiles
Panorama des Technologies mobilesPanorama des Technologies mobiles
Panorama des Technologies mobilesAbdoulaye Dieng
 
Prise en main de WordPress
Prise en main de WordPressPrise en main de WordPress
Prise en main de WordPressAbdoulaye Dieng
 
Fondamentaux d’une API REST
Fondamentaux d’une API RESTFondamentaux d’une API REST
Fondamentaux d’une API RESTAbdoulaye Dieng
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScriptAbdoulaye Dieng
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JSAbdoulaye Dieng
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmiqueAbdoulaye Dieng
 
Requêtes HTTP synchrones et asynchrones
Requêtes HTTPsynchrones et asynchronesRequêtes HTTPsynchrones et asynchrones
Requêtes HTTP synchrones et asynchronesAbdoulaye Dieng
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScriptAbdoulaye Dieng
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmiqueAbdoulaye Dieng
 
Introduction à AngularJS
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJSAbdoulaye Dieng
 

Mehr von 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

Hinweis der Redaktion

  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