SlideShare une entreprise Scribd logo
Life is short, use Python …

INTRODUCTION à python
Par: Achraf KACIMI EL HASSANI
Les piles et files en utilisant les Lists
Les piles



Principe du LIFO: Last In First Out
Créer la pile (liste) :
 pile=[]



Pour empiler les éléments:
 pile.append(element)



Pour dépiler un élément:
 element=pile.pop()
Les files



Principe du FIFO: First In First Out
Créer la file (liste) :
 file=[]



Pour enfiler un éléments
 file.append(element)



Pour défiler un élément:
 element=pile.popleft()
Structure de données: Tuple
Tuple ?



Même principe que les n-uplets en mathématiques.
Même déclaration que les listes, mais avec parenthèses
 Exemple:
 tuple=(2, 3)






Même méthodes d’accès que les listes ( par index )
Sont immuables !
N’ont pas de méthodes
À quoi bon ?!




Ils sont plus rapides que les listes.
Peuvent servir comme clés des dictionnaires
Sont sémantiquement hétérogènes
 Exemple:
 marque_page = (42, 11)



# numéro de page, numéro de ligne

Sont utilisées pour formater les strings (lui préférer la méthode format):
 S= “Salut %s agé de %d” % (nom, age)
Listes et tuples


Passage d’un tuple à une liste:
 L=list(myTuple)



Passage d’un tuple à une liste:
 myTuple=tuple(list)
Structure de données: Set
Set ?







Ensemble au sens mathématique: collection d’objets sans doublons
Ne sont pas ordonnés et donc pas d’accès par index
On peut ittérer les élements : for x in set
Existe en version immuable frozenset
Déclaration d’un set vide: set={}
Quelques méthodes des Set










len(set) : retourne le cardinal du set
x in set retourne True si x ∈ set, False sinon
set.isdisjoint(set2) retourne True si l’intersection de set et set2 est vide
set.issubset(set2) (ou set <= set2) retourne True si set ⊂ set2
set.union(set2) (ou set | set2) : retourne set ∪ set2
set.intersection(set2) (ou set & set2) : retourne set ∩ set2
set. difference(set2) ( ou set – set2)
set. symmetric_difference(set2) (ou set ^ set2)
Les dictionnaires
Dictionnaire ?





Tableaux associatifs: l’accès se fait par clés
Ensemble de couples (key, value)
La clé doit être de type immuable (str, tuple, frozenset)
Création d’un dictionnaire vide:




Déclaration d’un dictionnaire initialisé:




Dict={key1: value1, key2: value2 ….}

Accès à la valeur value associée à la clé key;




Dict={}

Dict[key]

Ajout d’un élément new Key , newVal:


Dict[newKey]=newVal
Dictionnaire









del(dict[key]): Suppression d’un élément de clé key:
dict.values(): retourne la liste des valeurs du dictionnaire
dict.keys(): retourne la liste des clés du dictionnaire
dict.clear(): supprime tous les éléments du dictionnaire.
dict.items(): retourne les élements du dictionnaire (tuples (clé, valeur))
dict.has_key(key): retourne True si la clé key appartient au dict
len(dict): retourne le nombre d’éléments du dictionnaire
Les fonctions
Fonctions







Déclaration en utilisant le mot clé def suivi du nom de la fonction, suivi des
paramètres entre parenthèses.
On peut éventuellement retourner une valeur en utilisant le mot clé return
La première chaine de caractères dite de documentation est ignorée à
l’exécution, elle décrit la fonction.
Exemple:
def factoriel(n):
" calcule et retourne n! "
facto=1
for i in xrange(2, n+1): #pour i allant de 2 à n
facto*=i
#facto=facto * i
return facto
Fonctions: les paramètres






Les paramètres passent par référence, c’est-à-dire que les changement
opérés sur ces derniers dans le corps de la fonction sont maintenus.
Pour faire un passage par valeur, il faut changer la référence du
paramètre dans le corps de la fonction.
On peut faire passer une fonction comme paramètre.
Fonctions: les paramètres par défaut




Python supporte les valeurs par défaut des paramètres des fonctions, càd
les valeurs que prennent ces valeurs si on ne les spécifie pas à l’appel.
Exemple:
def test(a, b=0):
print a,b
test(2,3) # affiche 2, 3
test (2)



# affiche 2, 0

Toute modification sur ces paramètres est gardée pour les prochains
appels.
Generators









Sont des fonctions qui renvoient des Iterators
Un itterator est un est un objet qui contient la méthode next()
On peut parcourir ses élements avec la boucle for.
Un generator est une fonction où on utilise le mot clé yield au lieu de
return.
Le yield a un fonctionnement similaire au return, sauf qu’il mémorise
l’état de la fonction.
Au prochain appel de la fonction, elle continuera son execution du
dernier point de sauvegarde du yield.
Fonction Lambda






Fonction anonyme ( sans nom), qui se limite à une seule expression.
Evite de définir une fonction qui n’est utilisé qu’une fois dans le code.
Souvent passée en paramètre d’une fonction (sort, map …).
Synthaxe:
 lambda paramètre1,….,paramètreN : <expression à retourner>



Exemple:
 Lambda x, y: True if x % y == 0 else False
QUESTIONS ?
Merci pour votre présence

Contenu connexe

PPTX
Chapitre1: Langage Python
PPT
COURS_PYTHON_22.ppt
PPTX
Python For Data Science - French Course
PDF
Introduction à Python - Achraf Kacimi El Hassani
PDF
Les listes en Python
PPTX
Introduction à l’orienté objet en Python
PPTX
Formation python
PDF
Cours python avancé
Chapitre1: Langage Python
COURS_PYTHON_22.ppt
Python For Data Science - French Course
Introduction à Python - Achraf Kacimi El Hassani
Les listes en Python
Introduction à l’orienté objet en Python
Formation python
Cours python avancé

Tendances (20)

PDF
Python avancé : Gestion d'erreurs et mécanisme d'exception
PDF
Cours algorithme
PDF
Cours php -partie 1.pdf
PDF
Chapitre4: Pointeurs et références
PDF
cours algorithme et structure de données 1er année
PPTX
Introduction à Python
PDF
Chapitre iii récursivité et paradigme diviser pour régner
PDF
La programmation modulaire en Python
PPTX
Python.pptx
PDF
Exercices en turbo pascal sur les nombres
PDF
Cours JavaScript
PDF
Programmation orientée objet : Object, classe et encapsulation
PDF
Python avancé : Lecture et écriture de fichiers
PDF
Chap 6 : classes et interfaces
PDF
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
PDF
Chapitre 4 récursivité
PPTX
FormationPython2019.pptx
PDF
Python avancé : Classe et objet
PDF
Tp1 - WS avec JAXWS
Python avancé : Gestion d'erreurs et mécanisme d'exception
Cours algorithme
Cours php -partie 1.pdf
Chapitre4: Pointeurs et références
cours algorithme et structure de données 1er année
Introduction à Python
Chapitre iii récursivité et paradigme diviser pour régner
La programmation modulaire en Python
Python.pptx
Exercices en turbo pascal sur les nombres
Cours JavaScript
Programmation orientée objet : Object, classe et encapsulation
Python avancé : Lecture et écriture de fichiers
Chap 6 : classes et interfaces
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
Chapitre 4 récursivité
FormationPython2019.pptx
Python avancé : Classe et objet
Tp1 - WS avec JAXWS
Publicité

En vedette (20)

PPTX
python
PDF
Rendez votre code Python plus beau !
PDF
Accessibilite ERP - points importants
PDF
Guide de l'accessibilité pour les ERP exerçant dans l'hôtellerie-restauration
PDF
Algorithmique_et_programmation_part2
PDF
Accessibilite 2013
ODP
Les systèmes embarqués arduino
PDF
Normes handicapés
PPT
Immersion Liban
PPT
Enrichir son programme d'immersion avec la technologie 2013
PPTX
Activité 14, corrigé
PPS
07 les-communications-au-boulot
PPTX
Ismael Rabadán. 3º A
PDF
Présentation fedarena
PPT
Présentation fedarena
PDF
2007 Collaboration dans les soins palliatifs
PDF
L’Europe face au défi des stupéfiants
PPS
10 les-meilleurs-effets-optiques4
PPT
Informe Caso Olapic
PPS
Vraies fausses pubs51
python
Rendez votre code Python plus beau !
Accessibilite ERP - points importants
Guide de l'accessibilité pour les ERP exerçant dans l'hôtellerie-restauration
Algorithmique_et_programmation_part2
Accessibilite 2013
Les systèmes embarqués arduino
Normes handicapés
Immersion Liban
Enrichir son programme d'immersion avec la technologie 2013
Activité 14, corrigé
07 les-communications-au-boulot
Ismael Rabadán. 3º A
Présentation fedarena
Présentation fedarena
2007 Collaboration dans les soins palliatifs
L’Europe face au défi des stupéfiants
10 les-meilleurs-effets-optiques4
Informe Caso Olapic
Vraies fausses pubs51
Publicité

Similaire à Atelier Python 2eme partie par Achraf Kacimi El Hassani (20)

PDF
Un même algorithme peut être écrit python
PPTX
Theme 9(bis)
PDF
cour informatique niveau3 programmation en Python.pdf
PPTX
condition et boucle (2).pptx
PDF
Développement informatique : Programmation fonctionnelle, décorateur et génér...
PPTX
Introduction au langage python (Notion de base)
PPTX
Introduction au langage python notion de base
PDF
Python avancé : Tuple et objet
PPT
phyton introduction initiative programmation
PDF
Cours Pratique en PYTHON - Tableaux et conteneur - Python1.pdf
PDF
Cours Python (initialisation à la programmation)
PDF
Python avancé : Ensemble, dictionnaire et base de données
PDF
Chap3 programmation modulaire en python
PDF
3 - programmation modulaire avec python.pdf
PPTX
Les structures de données.pptx
PDF
M2 INAE introduction python.pdf
PPT
Ns python 2
PPTX
Programming language python 2021
Un même algorithme peut être écrit python
Theme 9(bis)
cour informatique niveau3 programmation en Python.pdf
condition et boucle (2).pptx
Développement informatique : Programmation fonctionnelle, décorateur et génér...
Introduction au langage python (Notion de base)
Introduction au langage python notion de base
Python avancé : Tuple et objet
phyton introduction initiative programmation
Cours Pratique en PYTHON - Tableaux et conteneur - Python1.pdf
Cours Python (initialisation à la programmation)
Python avancé : Ensemble, dictionnaire et base de données
Chap3 programmation modulaire en python
3 - programmation modulaire avec python.pdf
Les structures de données.pptx
M2 INAE introduction python.pdf
Ns python 2
Programming language python 2021

Plus de Shellmates (14)

PPTX
Cryptography basics
PPTX
HTML basics
PDF
Malware Analysis par Mohamed Ali FATHI - BSides Algiers 2k15
PPTX
JavaScript 1.0 by Zakaria Smahi
PPTX
BSides Algiers - Stuxnet - Sofiane Talmat
PDF
BSides Algiers - Linux Kernel and Recent Security Protections - Djallal Harouni
PPTX
BSides Algiers - Layer7 DoS Attacks - Oussama Elhamer
PPTX
BSides Algiers - Reversing Win32 applications - Yacine Hebbal
ODP
BSides Algiers - Nmap Scripting Engine - Hani Benhabiles
PDF
BSides Algiers - Normes ISO 2700x - Badis Remli
PPTX
BSides Algiers - Metasploit framework - Oussama Elhamer
PDF
BSides Algiers - PHP Static Code Analysis - Abdeldjalil Belakhdar
PDF
BSides Algiers - Certification Electronique - Lilia Ounini
PPTX
BSides algiers - Malware History - Sofiane Talmat
Cryptography basics
HTML basics
Malware Analysis par Mohamed Ali FATHI - BSides Algiers 2k15
JavaScript 1.0 by Zakaria Smahi
BSides Algiers - Stuxnet - Sofiane Talmat
BSides Algiers - Linux Kernel and Recent Security Protections - Djallal Harouni
BSides Algiers - Layer7 DoS Attacks - Oussama Elhamer
BSides Algiers - Reversing Win32 applications - Yacine Hebbal
BSides Algiers - Nmap Scripting Engine - Hani Benhabiles
BSides Algiers - Normes ISO 2700x - Badis Remli
BSides Algiers - Metasploit framework - Oussama Elhamer
BSides Algiers - PHP Static Code Analysis - Abdeldjalil Belakhdar
BSides Algiers - Certification Electronique - Lilia Ounini
BSides algiers - Malware History - Sofiane Talmat

Atelier Python 2eme partie par Achraf Kacimi El Hassani

  • 1. Life is short, use Python … INTRODUCTION à python Par: Achraf KACIMI EL HASSANI
  • 2. Les piles et files en utilisant les Lists
  • 3. Les piles   Principe du LIFO: Last In First Out Créer la pile (liste) :  pile=[]  Pour empiler les éléments:  pile.append(element)  Pour dépiler un élément:  element=pile.pop()
  • 4. Les files   Principe du FIFO: First In First Out Créer la file (liste) :  file=[]  Pour enfiler un éléments  file.append(element)  Pour défiler un élément:  element=pile.popleft()
  • 6. Tuple ?   Même principe que les n-uplets en mathématiques. Même déclaration que les listes, mais avec parenthèses  Exemple:  tuple=(2, 3)    Même méthodes d’accès que les listes ( par index ) Sont immuables ! N’ont pas de méthodes
  • 7. À quoi bon ?!    Ils sont plus rapides que les listes. Peuvent servir comme clés des dictionnaires Sont sémantiquement hétérogènes  Exemple:  marque_page = (42, 11)  # numéro de page, numéro de ligne Sont utilisées pour formater les strings (lui préférer la méthode format):  S= “Salut %s agé de %d” % (nom, age)
  • 8. Listes et tuples  Passage d’un tuple à une liste:  L=list(myTuple)  Passage d’un tuple à une liste:  myTuple=tuple(list)
  • 10. Set ?      Ensemble au sens mathématique: collection d’objets sans doublons Ne sont pas ordonnés et donc pas d’accès par index On peut ittérer les élements : for x in set Existe en version immuable frozenset Déclaration d’un set vide: set={}
  • 11. Quelques méthodes des Set         len(set) : retourne le cardinal du set x in set retourne True si x ∈ set, False sinon set.isdisjoint(set2) retourne True si l’intersection de set et set2 est vide set.issubset(set2) (ou set <= set2) retourne True si set ⊂ set2 set.union(set2) (ou set | set2) : retourne set ∪ set2 set.intersection(set2) (ou set & set2) : retourne set ∩ set2 set. difference(set2) ( ou set – set2) set. symmetric_difference(set2) (ou set ^ set2)
  • 13. Dictionnaire ?     Tableaux associatifs: l’accès se fait par clés Ensemble de couples (key, value) La clé doit être de type immuable (str, tuple, frozenset) Création d’un dictionnaire vide:   Déclaration d’un dictionnaire initialisé:   Dict={key1: value1, key2: value2 ….} Accès à la valeur value associée à la clé key;   Dict={} Dict[key] Ajout d’un élément new Key , newVal:  Dict[newKey]=newVal
  • 14. Dictionnaire        del(dict[key]): Suppression d’un élément de clé key: dict.values(): retourne la liste des valeurs du dictionnaire dict.keys(): retourne la liste des clés du dictionnaire dict.clear(): supprime tous les éléments du dictionnaire. dict.items(): retourne les élements du dictionnaire (tuples (clé, valeur)) dict.has_key(key): retourne True si la clé key appartient au dict len(dict): retourne le nombre d’éléments du dictionnaire
  • 16. Fonctions     Déclaration en utilisant le mot clé def suivi du nom de la fonction, suivi des paramètres entre parenthèses. On peut éventuellement retourner une valeur en utilisant le mot clé return La première chaine de caractères dite de documentation est ignorée à l’exécution, elle décrit la fonction. Exemple: def factoriel(n): " calcule et retourne n! " facto=1 for i in xrange(2, n+1): #pour i allant de 2 à n facto*=i #facto=facto * i return facto
  • 17. Fonctions: les paramètres    Les paramètres passent par référence, c’est-à-dire que les changement opérés sur ces derniers dans le corps de la fonction sont maintenus. Pour faire un passage par valeur, il faut changer la référence du paramètre dans le corps de la fonction. On peut faire passer une fonction comme paramètre.
  • 18. Fonctions: les paramètres par défaut   Python supporte les valeurs par défaut des paramètres des fonctions, càd les valeurs que prennent ces valeurs si on ne les spécifie pas à l’appel. Exemple: def test(a, b=0): print a,b test(2,3) # affiche 2, 3 test (2)  # affiche 2, 0 Toute modification sur ces paramètres est gardée pour les prochains appels.
  • 19. Generators       Sont des fonctions qui renvoient des Iterators Un itterator est un est un objet qui contient la méthode next() On peut parcourir ses élements avec la boucle for. Un generator est une fonction où on utilise le mot clé yield au lieu de return. Le yield a un fonctionnement similaire au return, sauf qu’il mémorise l’état de la fonction. Au prochain appel de la fonction, elle continuera son execution du dernier point de sauvegarde du yield.
  • 20. Fonction Lambda     Fonction anonyme ( sans nom), qui se limite à une seule expression. Evite de définir une fonction qui n’est utilisé qu’une fois dans le code. Souvent passée en paramètre d’une fonction (sort, map …). Synthaxe:  lambda paramètre1,….,paramètreN : <expression à retourner>  Exemple:  Lambda x, y: True if x % y == 0 else False
  • 21. QUESTIONS ? Merci pour votre présence