Life is short, use Python …

INTRODUCTION à python
Par: Achraf KACIMI EL HASSANI
Python ?


Langage de programmation multi-paradigme
 Impératif (Procédural)
 Orienté objet








Multiplateform...
Pourquoi apprendre Python?








Très simple à apprendre
Code moins volumineux
Multi-plateformes
Très fun à utili...
Un peu d’Histoire




Crée par Guido van Rossum durant une semaine de vacances
Tire son nom de la série Monty Python
Pr...
Installer Python


Sous linux:
 Déjà installé
 Utiliser n’importe quel éditeur de texte
 Executer en utilisant la comm...
Syntaxe de base
Opérateurs


Un commentaire commence par le caractère # et s’étend jusqu’ à la fin de
la ligne
 Exemple:



Opérateurs ...
Opérateurs


Opérations mathématiques:
7+3 #10
 7-3 #4
 7*3 #21
 7**3 #343 (puissance)
 7/3 #2 (division entière)
 7...
Les types




Pas de déclaration explicite du type d’une variable
Le type d’une variable est celui de la valeur qu’on l...
Les types


Les types entiers:
 Peuvent être d’une taille quelconque (limité par la RAM)



Les types flottants (réels)...
Les types


Les nombres complexes:
 Les complexes sont écrits en notation cartésienne de la forme A+Bj avec A et

B des ...
Opérations d’affectation







a = 4 # Affectation
a += 2
# idem à : a = a + 2 si a est déjà référencé
c=d=8
# cibl...
Entrées clavier: input()




L’instruction input() permet saisir une entrée au clavier.
Elle effectue un typage dynamiq...
Entrées clavier: raw_input()





Même chose que input(), sauf qu’elle lit une chaine de caractère
Pour lire une varia...
Sortie écran (print)




L’instruction print permet d’afficher la valeur d’une variable à l’écran
Elle fait un saut de ...
print




Pour l’empêcher de sauter de ligne il faut rajouter une virgule à la fin
(elle écrira un espace au lieu d’un s...
print dans Python 3.x
 print est devenue une fonction à partir de Python 3.0
 La synthaxe devient donc print(valeur)
 P...
Notion de bloc d’instructions:







D’autres langages délimitent un bloc par les symboles , - ou BEGIN,
END
Python u...
Structures de contrôle
Notion de bloc d’instructions:






L’indentation dépend des caractères réellement écrits et non pas de
l’espace qu’il...
Les conditions:

Synthaxe:
if condition 1:
BLOC 1
elif condition 2: #Equivalent à else if
BLOC 2
else:
BLOC 3
Les conditions
Exemple:
If

n > 0:

print n, " est strictement positif "
elif n<0:
print n, " est strictement négatif "
el...
Les boucles


La boucle while

while condition:
BLOC D’INSTRUCTIONS

Exemple:
i=0
while i<5:
i=i+1
print i,
La boucle for


la boucle for est équivalente à un for each des autres langages
for iterating_var in sequence:
BLOC D’INS...
Boucle for


Pour faire un for classique, il faut utiliser la fonction range ( dont on
donne les détails plus tard)

for ...
les instructions break, continue


L'instruction break permet d'arrêter une boucle avant sa fin.

while condition:
if con...
Structures de données
Les chaines de caractère (str)











Similaire aux chaines de caractères des autres langage (liste de caractère...
Opérations sur les str





Concaténation " Hello" + " World" # " Hello World "
"Hello " .3
#’Hello Hello Hello ‘
Supp...
Opérations sur les str







s.isalnum() # retourne vrai si tous les caractères sont alphanumériques
s.isalpha() # r...
Formater une str (format)






Pour formater une str on utilise sa fonction format
La chaine en question doit conteni...
Les listes


Ce sont des tableaux hétérogènes de taille variable
 Accès par position
 Les objets de la liste peuvent êt...
Opérations sur les listes













Créer une liste (vide) : l=[]
L3= l1+ l2 #Concaténer deux listes
l.append(...
Opérations sur les listes










l.sort(): Trie une liste (si les objets ne sont pas des types standards il faut
...
List comprehension
Les list comprehensions sont des expressions qui permettent de générer
des listes d’une manière très co...
List comprehension


Exemples:
 l=[i**2 for i in range(10)]
 M=[[1, 7, 2], [8, 4, 3], [1, 9, 6]]

P=[[ row[j] % 2 for j...
Exercice


Faire un programme Permettant de faire le chiffrement (déchiffrement)
en ROT13 en utilisant les structures pré...
QUESTIONS ?
Merci pour votre présence
Introduction à Python - Achraf Kacimi El Hassani
Prochain SlideShare
Chargement dans…5
×

Introduction à Python - Achraf Kacimi El Hassani

2 430 vues

Publié le

Initiation au langage de programmation python

Publié dans : Économie & finance
0 commentaire
4 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 430
Sur SlideShare
0
Issues des intégrations
0
Intégrations
15
Actions
Partages
0
Téléchargements
192
Commentaires
0
J’aime
4
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Introduction à Python - Achraf Kacimi El Hassani

  1. 1. Life is short, use Python … INTRODUCTION à python Par: Achraf KACIMI EL HASSANI
  2. 2. Python ?  Langage de programmation multi-paradigme  Impératif (Procédural)  Orienté objet       Multiplateformes Interprété Typage dynamique Gestion automatique de la mémoire (ramasse -miettes) Open Source conçu pour produire du code de qualité, portable et facile à intégrer
  3. 3. Pourquoi apprendre Python?        Très simple à apprendre Code moins volumineux Multi-plateformes Très fun à utiliser Très documenté Grande communauté Peut être utilisé un peu partout (Administration système, applications bureau, web, jeux vidéo…)
  4. 4. Un peu d’Histoire    Crée par Guido van Rossum durant une semaine de vacances Tire son nom de la série Monty Python Principalement inspiré du: langage ABC pour l’indentation  Modula-3 pour la gestion des exceptions  C pour les outils UNIX   Licence GPL depuis la version 1.6 (2000)
  5. 5. Installer Python  Sous linux:  Déjà installé  Utiliser n’importe quel éditeur de texte  Executer en utilisant la commande python <nom_du_fichier>  Sous Windows:  http://www.python.org/getit/  Il installera aussi l’IDE IDLE qui permet d’utiliser le shell python et d’écrire et executer votre code.
  6. 6. Syntaxe de base
  7. 7. Opérateurs  Un commentaire commence par le caractère # et s’étend jusqu’ à la fin de la ligne  Exemple:  Opérateurs logiques:     #Ceci est un commentaire and or not Opérateurs de comparaison: >, >=, ==,<=, <, !=
  8. 8. Opérateurs  Opérations mathématiques: 7+3 #10  7-3 #4  7*3 #21  7**3 #343 (puissance)  7/3 #2 (division entière)  7 % 3 #2 (modulo)  7.2 // 3 #2 (division entière forcée) 
  9. 9. Les types    Pas de déclaration explicite du type d’une variable Le type d’une variable est celui de la valeur qu’on lui attribue Il peut changer pendant le programme Exemple: s= " Hello " #s est de type String a=2 #a est de type int s=a+2 #s est maintenant de type int  La fonction type(s) retourne le type de la variable s.
  10. 10. Les types  Les types entiers:  Peuvent être d’une taille quelconque (limité par la RAM)  Les types flottants (réels)  Notés avec un point décimal (7.2)  ou notation exponnentielle (6.023e23)  Les types booléens qui prennent deux valeurs  True  False
  11. 11. Les types  Les nombres complexes:  Les complexes sont écrits en notation cartésienne de la forme A+Bj avec A et B des flottants  Quelques fonctions:  1j # 1j # (6-4j)  (2+3j) + (4-7j)  (9+5j).real # 9.0  (9+5j).imag # 5.0 # 5.0 : module # retourne le conjugué: 3-4j  abs(3+4j)  (3+4j).conjugate
  12. 12. Opérations d’affectation       a = 4 # Affectation a += 2 # idem à : a = a + 2 si a est déjà référencé c=d=8 # cibles multiples (affectation de droite `a gauche) e, f = 2, 5 # affectation de tuple (par position) e, f = f, e # permutation entre e et f g, h = *’G’, ’H’+ # affectation de liste (par position)
  13. 13. Entrées clavier: input()    L’instruction input() permet saisir une entrée au clavier. Elle effectue un typage dynamique (détecte le type de la valeur entrée) Accepte une syntaxe input(message) exemple:  n = input("Entrez un entier : ")  Attention:  Elle attend en réalité une instruction Python  N’existe plus à partir de Python 3.0  Lui préférer la fonction raw_input()
  14. 14. Entrées clavier: raw_input()     Même chose que input(), sauf qu’elle lit une chaine de caractère Pour lire une variable d’un autre type, il faut faire un retypage (cast) Les casts sont de la forme : nouveau_type(variable) Exemple:  age =int( raw_input(" Veuillez donner votre age ") )  Attention: Elle a été renommée input à partir de Python 3.0
  15. 15. Sortie écran (print)    L’instruction print permet d’afficher la valeur d’une variable à l’écran Elle fait un saut de ligne après l’affichage de la valeur Exemple: Nom="Snake" print "Salut" print Nom Resultat: Salut Snake 
  16. 16. print   Pour l’empêcher de sauter de ligne il faut rajouter une virgule à la fin (elle écrira un espace au lieu d’un saut de ligne) Exemple: Nom=" Achraf " print " Salut ", print Nom Resultat: Salut Achraf 
  17. 17. print dans Python 3.x  print est devenue une fonction à partir de Python 3.0  La synthaxe devient donc print(valeur)  Pour ne pas faire de retour à la ligne on rajoute un paramètre end=" "  Exemple 2 en Python 3.x: Nom=" Achraf " print (" Salut ",end = " print (Nom) " )
  18. 18. Notion de bloc d’instructions:     D’autres langages délimitent un bloc par les symboles , - ou BEGIN, END Python utilise l’indentation  bloc d'instructions est une suite d'instructions qui est alignée sur la Un même tabulation. Les blocs sont utilisés pour définir les corps des fonctions, des boucles, des classes ...
  19. 19. Structures de contrôle
  20. 20. Notion de bloc d’instructions:    L’indentation dépend des caractères réellement écrits et non pas de l’espace qu’ils ont généré Il ne faut JAMAIS mélanger les tabulations et les espaces au risque d’avoir l’erreur suivante: IndentationError: unindent does not match any outer indentation level La convention est d’utiliser 4 espaces par niveau au lieu d’une tablulation
  21. 21. Les conditions:  Synthaxe: if condition 1: BLOC 1 elif condition 2: #Equivalent à else if BLOC 2 else: BLOC 3
  22. 22. Les conditions Exemple: If n > 0: print n, " est strictement positif " elif n<0: print n, " est strictement négatif " else: print n, " est nul "
  23. 23. Les boucles  La boucle while while condition: BLOC D’INSTRUCTIONS Exemple: i=0 while i<5: i=i+1 print i,
  24. 24. La boucle for  la boucle for est équivalente à un for each des autres langages for iterating_var in sequence: BLOC D’INSTRUCTIONS Source du WorkFlow: http://www.tutorialspoint.com
  25. 25. Boucle for  Pour faire un for classique, il faut utiliser la fonction range ( dont on donne les détails plus tard) for i in range(n) : #Equivalent à  for (i=0; i<n; i++ ) BLOC D’INSTRUCTIONS  Autres forme de la fonction range:  for i in range(k,n): #Equivalent à for (i=k; i<n ; i++ ) en C  for i in range(k, n, p): #Equivalent à for (i=k; i<n ; i+=p ) en C
  26. 26. les instructions break, continue  L'instruction break permet d'arrêter une boucle avant sa fin. while condition: if condition2: break #si condition2 vérifiée on #passe à instruction1 BLOC D’INSTRUCTIONS instruction 1  L'instruction continue est similaire, mais au lieu d'interrompre la boucle, on saute à la prochaine itération de la boucle.
  27. 27. Structures de données
  28. 28. Les chaines de caractère (str)       Similaire aux chaines de caractères des autres langage (liste de caractères) Accès aux caractères par index, ie: pour une chaine s, s[i] retourne le ième caractère Sont immuables (on ne peut changer leurs valeurs), il est donc interdit d’écrire par exemple s[0]='a' Les constantes sont écrites entre "", ou entre ' ' On peut écrire des " " dans les chaines délimitées par ' ' et des ' dans les chaines délimitées par " "" Exemple: S= " Je m’appelle Onizuka "  S= ' le mot " Oni " signifie démon en japonais ' 
  29. 29. Opérations sur les str     Concaténation " Hello" + " World" # " Hello World " "Hello " .3 #’Hello Hello Hello ‘ Supposons que S soit une str de longueur n Accès aux élements:     Le premier caractère est S[0] et le dernier S[n-1] S[i] retourne le ième élement de S S[-i] retourne le ième élement de S en partant de la fin. (à la position n-i) Sous chaines:     La fonction len(S) retourne la taille de S. S[i:j] donne la sous-chaine composée des caractères aux positions i, i+1, …, j-1 S[:j] donne la sous-chaine composée des caractères aux positions 0, 1, …, j-1 S[j:] donne la sous-chaine composée des caractères aux positions j, j+1, …, n-1
  30. 30. Opérations sur les str      s.isalnum() # retourne vrai si tous les caractères sont alphanumériques s.isalpha() # retourne vrai si tous les caractères sont alphabétiques s.isdigit() # retourne vrai si tous les caractères sont des chiffres s.replace(old, new) # retourne une chaine où toutes les occurrences de #old dans s sont remplacées par new s.index(c) #retourne la position de c dans s, -1 s’il n’y existe pas
  31. 31. Formater une str (format)     Pour formater une str on utilise sa fonction format La chaine en question doit contenir des {} Les ,- seront remplacés dans l’ordre par les paramètres de la fonction format Exemple: a=4 b=2 print " {} + {} = {} " .format(a, b, a+b) # 4+ 2= 6
  32. 32. Les listes  Ce sont des tableaux hétérogènes de taille variable  Accès par position  Les objets de la liste peuvent être de types différents  La taille de la liste change à chaque suppression ou insertion   Ils ne sont pas immuables contrairement aux str, on peut faire : l[0]=val On peut créer des matrices sous forme de liste de listes  Exemple: M=[[1, 2, 3], [4, 5, 6]]
  33. 33. Opérations sur les listes          Créer une liste (vide) : l=[] L3= l1+ l2 #Concaténer deux listes l.append(v) : Insère un élément v à la fin de l l.insert(i, v): Insère un élement v à la position i de l l.pop() retourne la valeur du dernier élément et le supprime de la liste (on le dépile) l.pop(i) retourne la valeur du ième élément et le supprime de la liste l.remove(v): supprime la première occurrence de v dans l l.count(v): retourne le nombre d’occurrence de v dans l l.expend(l2): insère tous les élements de l2 à la fin de l1 (concaténation)
  34. 34. Opérations sur les listes       l.sort(): Trie une liste (si les objets ne sont pas des types standards il faut rajouter une fonction qu’on verra plus tard) l.reverse(): retourne une liste dont les éléments sont ceux de l mais d’ordre inversé len(l): retourne la taille de l. l[i:j] donne la sous-liste composée des valeurs aux positions i, i+1, …, j-1 l[:j] donne la sous-liste composée des valeurs aux positions 0, 1, …, j-1 l[j:] donne la sous-liste composée des valeurs aux positions j, j+1, …, n-1
  35. 35. List comprehension Les list comprehensions sont des expressions qui permettent de générer des listes d’une manière très compacte  Forme générale: [ expression for expr in sequence1 for expr2 in sequence2 ... for exprN in sequenceN if condition ] 
  36. 36. List comprehension  Exemples:  l=[i**2 for i in range(10)]  M=[[1, 7, 2], [8, 4, 3], [1, 9, 6]] P=[[ row[j] % 2 for j in range(len(M[0])] for row in M ]  T=[[row[i] for row in M] for i in range(len(M[0]))]
  37. 37. Exercice  Faire un programme Permettant de faire le chiffrement (déchiffrement) en ROT13 en utilisant les structures précedemment vues et sans utiliser le modulo.
  38. 38. QUESTIONS ? Merci pour votre présence

×