Formation Python Complète
Formation Python Complète
@: [email protected]
W: www.itgate-training.com 1
OBJECTIFS
• Dans ce cours, vous apprendrez tous les aspects fondamentaux de
la programmation informatique nécessaires. À la fin du cours, vous
pourrez utiliser ces outils pour importer des données en Python,
effectuer une analyse sur ces données et exporter les résultats
sous forme de graphiques, de fichiers texte ou de tout autre
élément dont vous pourriez avoir besoin. En apprenant comment
obtenir l'ordinateur pour faire votre travail pour vous, vous serez
en mesure de faire plus de science plus rapidement.
OBJECTIFS
• Écrire des programmes informatiques simples en Python
• Automatiser l'analyse des données
• Appliquer ces outils pour répondre à des questions
• Apprendre et comprendre les concepts de programmation qui
aideront à utiliser d'autres languages.
RESPONSABILITÉS DE
L'ÉTUDIANT
• Les étudiants doivent lire / visionner le matériel assigné avant la
classe pour laquelle ils sont programmés, assister aux cours,
participer en classe, remplir les devoirs et demander de l'aide
tôt s'ils ont des problèmes.
Introduction au python
Langage de programmation développé en 1989 par Guido van Rossum
Orienté Objet :
Python est orienté-objet. Il supporte l'héritage multiple et la surcharge des opérateurs.
Facile à apprendre :
La syntaxe de Python est très simple et, combinée à de nombreux types de données évolués (comme les listes, dictionnaires,
tuples...), ce qui conduit à des programmes à la fois très compacts et très lisibles.
Langage Script :
Python fait partie des langages script interprétés contrairement au C/C++ qui sont des langages compilés. Ce qui lui permet d’être
plus rapide au développement, de comporter moins de ligne .
Portable :
Python est portable entre les différentes variantes de Unix ainsi que sur les OS propriétaires comme Mac OS, BEOs, MS-DOS et les
différentes versions de Windows
Open source :
Python est placé sous Général Public License
Extensible :
Au-delà de la multitude de librairies et de modules déjà existants, il est possible d’en développer pour ses propres besoins
Modulable :
Python permet de séparer les programmes en modules qui peuvent être réutilisés dans d'autres programmes en Python
5
langages interprétés et langages compilés
On peut distinguer deux grands types de langages : les langages interprétés et les langages compilés.
Pour les langages supportés sur le site on a :
langages compilés : C, C++, Pascal langages interprétés : Java (+ JavaScool)
et Python..
7
PYTHON
1. print ("Welcome to
la fonction print() permet Python!")
d’afficher une chaîne de
caractères (le fameux ( "Hello
world!"). En fait, elle affiche
Exécuter
l’argument qu’on lui passe entre
parenthèses et un retour à
ligne. Welcome to Python!
1. # Écrivez votre code ci-dessous!
VARIABLES
2. my_var = 10
3. print (" la valeur de mon variable =",
La création d'applications Web, de jeux et de my_var )
moteurs de recherche implique de stocker et
de travailler avec différents types de données.
Ils le font en utilisant des variables. Exécuter
• Une variable stocke une donnée et lui
donne un nom spécifique. Par exemple:
Exercice :
Définissez la variable my_variable égale
à la valeur
10. puis imprimer ce variable.
Les principaux types de données
11
VARIABLES
1. # Écrivez votre code ci-dessous!
Exécuter
my_int = 3
la valeur de my_int = 3
L'INSTRUCTION D ’ 1. # Écrivez votre code ci-dessous!
A FFEC TAT IO N 2. A = 10
3. B = A + 3
L'instruction d’affectation permet d'attribuer 4. A = 3
une valeur (non définitive) a une variable
déclarée. 5. Print (" A = ", A)
L’affectation s’effectue en utilisant le 6. print (" B = ", B)
symbole ( = ).
spam = 5 Exécuter
ping = 9
• O n peur affecter a une variable le contenu
A=3
d'une autre variable B = 13
spam = ping
• O n peur incrémenter la valeur d'une
même variable sans utiliser une
deuxième variable
spam = spam +
1
1. # Écrivez votre code ci-dessous!
L'INSTRUCTION D ’ 2. A = 5
A FFEC TAT IO N 3. B = A + 4
L'instruction d’affectation permet d'attribuer 4. A = A + 1
une valeur (non définitive) a une variable 5. B = A - 4
déclarée.
L’affectation s’effectue en utilisant le 6. C = A – B
symbole ( = ). 7. Print (" A = ", A)
spam = 5
8. print (" B = ", B)
ping = 9 9. print (" C = ", C)
Exécuter
A=6
B=5
C=5
1. # Définissez les variables aux
BO O L É E N S valeurs listées dans les
instructions!
Les nombres sont un type de données que nous 2. my_int = 7
utilisons dans la programmation. Un deuxième type 3. my_float = 1.23
de données s'appelle un booléen.
4. my_bool = True
Un booléen est comme un interrupteur d'éclairage. Il ne 5. Print( " la valeur de mon
peut avoir que deux valeurs.Tout comme un interrupteur variable",
ne peut être activé ou désactivé, un booléen ne peut être my_bool)
que Vrai (True) ou Faux (False.).
addition = 72 + 23 Exécut
e
subtraction = 108 - 204
multiplication = 108 * 0.5
division = 108 / 9 60000
3
Exercice
:
Utilisez modulo pour définir un variable
spam égal à 3.
SYNTHÈSE DE MATHS :
1. # Écrivez votre code ci-dessous!
2. A = 5 # Variable A Jusqu'à présent, vous avez appris
3.B = A + 4 # Affectation ‘=‘ 4. A = A + sur:
1 • Variables, qui stockent des valeurs
5. my_int = 7 # Variable entier pour une utilisation ultérieure
6. my_float = 1.23 # Variable réel • Types de données, tels que les
7. my_bool = True # Variable Boolean (or nombres
False) et les booléens
8. count = 10000 + 50000 # addition • Commentaires, qui facilitent la
9. eggs = 10**2 # exponentiel lecture de votre code
10.spam= 7 % 4 # Modulo 11.Print(" A • Opérations arithmétiques, y
= ", A ) # Impression compris +, -,
*, /, ** et %
brian = "hello life! "
14
M ÉT H O D ES D E ST R IN G S:
LO W ER ()& U PPER () parrot = "Norwegian Blue"
1. pi = str(3.14) +
Maintenant, regardons str (), ce qui est un 1
peu moins simple. La méthode str ()
transforme les non- chaînes en chaînes! Par 2. print(pi)
exemple:
Exécut
str(2) e
age= 36
txt= ‘my name is john and i am {} ’
print ( txt.format(age) )
Cette fonction permet de
retourner un paramètre en Exécut
e
sortie en respectant le même my name is john and i am 36
format qui est déjà été
précisé en entrée.
1. # instruction print
Concaténation des String 2. count = 1000
3. Print(“ Imprimer dans le console
• Vous connaissez les chaînes de caractères “)
et vous connaissez les opérateurs 4. Print( count )
arithmétiques. Maintenant, combinons les 5. Print(“ Imprimer un variable “ ,
deux! count
Print("Life " + "of " + "Brian" ) Exécuter
len(“AAACGTR”)
Module
Les fonctions intégrées au langage
sont relativement peu nombreuses : ce
sont seulement celles qui sont susceptibles
d'être utilisées très fréquemment. Les Module
autres sont regroupées dans des fichiers Import
séparés que l'on appelle des modules.
Les modules sont donc des fichiers qui
regroupent un ensembles de fonctions. Il
Mon Code
existe un grand nombre de modules pré-
programmés qui sont fournis d'office
avec Python.
IMPORTATIONS:
IMPORTATION G É N É R I Q U E Pour utiliser des fonctions de modules
Il existe un module Python dans un programme, il faut au début du
fichier importer ceux-ci.
nommé math qui inclut un
certain nombre de variables et
de fonctions utiles, et
Module
sqrt () est l'une de ces
fonctions. Pour accéder aux
mathématiques, tout ce dont
vous avez besoin est le mot-clé Module
Import
import. Lorsque vous importez
simplement un module de cette
façon, cela s'appelle une
importation générique. Mon Code
import math
print (math.sqrt(25))
IMPORTATIONS DE
FONCTIONS Pour utiliser des fonctions de modules
dans un programme, il faut au début du
Il est possible d'importer fichier importer ceux-ci.
uniquement certaines variables
ou fonctions d'un module donné.
Extraire une seule fonction d'un Module
module s'appelle importation
d’une fonction, et c'est
fait avec le mot-clé from: Module
Import
Mon Code
ALLER AVEC LE FLUX
Mon Code
Les programmes Python que nous avons
écrits jusqu'ici ont eu un esprit unique:
ils peuvent ajouter deux nombres ou imprimer
quelque chose, mais ils n'ont pas la possibilité
de choisir l'un de ces résultats par rapport à
l'autre. F_?
C
Le flux de contrôle
Nous donne cette possibilité de choisir parmi Résultat 2 Résultat 1
les résultats en fonction de ce qui se passe
d'autre dans le programme.
Comparer ! 1. 3 == 3
True
• Commençons par l'aspect le plus simple du 2. 3 == 6
flux de contrôle: les comparateurs.
Il y a six: False
Égal à (==)
1. 3 != 6
Different de (! =) True
Inférieur à (<) 2. 3 != 3
Inférieur ou égal à (<=) False
1. A = True
2 < 3 or 3 < 4 True 2. B = True
3. C = False
2 > 3 or 3 < 4 True
4. D= False
1. A = False
not False True 2. B = True
3. C = True
not 2 > 3 True
4. D= True
5. E= False
not 3 < 4 False
C eci and cela
1. bool = True or not False and False
( o r ceci, no t ça!)
2. bool_one = False or not True and True
• Les opérateurs booléens ne sont pas 3. bool_two = False and not True or True
simplement évalués de gauche à droite.
4. bool_three = True and not (False or False)
Tout comme avec les opérateurs
arithmétiques, il existe un ordre des 5. bool_four = not not True or False and not
opérations pour les opérateurs True
booléens: 6. bool_five = False or not (True and True)
not évalué en premier;
Exécuter
and est évalué ensuite;
Exécuter
Syntaxe de l'instruction 1. reponse = "Y"
conditionnelle
2. answer = "Left"
The big IF 3. if answer == "Left“ :
4. print "This is the Verbal
• if est une instruction conditionnelle qui Abuse Room, you heap of parrot
exécute du code spécifié après avoir droppings!"
vérifié si son expression est True.
• Voici un exemple de syntaxe
d'instruction if: Exécuter
if 8 < 9:
print "Eight is less than nine!" 1. This is the Verbal Abuse Room,
you heap of parrot droppings!
Dans cet exemple, 8 <9 est l'expression
conditionnelle a contrôlée et l'impression
"Huit est inférieur à neuf!" est le code
spécifié.
L’INDENTATION
Exerice 2 :
Ecrire un programme demandant à
l'utilisateur de donner sa moyenne au
bac et affichant s'il est admis, Exécuter
61
TD
Exercice
L'indice de masse corporelle d'une personne poids = float(input("votre poids (kg) ? "))
peut être taille = float(input("votre taille (m) ? "))
calculé avec la formule suivante :
imc = poids / (taille2) imc = poids / (taille * taille)
Écrire un programme qui demande à l'utilisateur
les paramètres nécessaires, calcule l'indice de #imc=poids/(taille **2)
masse corporelle et affiche le résultat
Q uels sont les paramètres ? Quels sont leur print ("indice de masse corporelle :",
type ? imc)
Comment calculer taille2 ?
TD
list_name[index]
12
9
Listes: Longueur de la liste
• Une liste n’a pas une longueur fixe.Vous pouvez ajouter des éléments à la fin d'une liste quand
vous le souhaitez!
1. letters = ['a', 'b', 'c’] 4
2. letters.append('d’) ['a', 'b', 'c', 'd']
3. print (len(letters))
4. Print( letters)
Exécuter
Listes: Découpage des
liste chain = "123456789"
print( chain[1:3] )
• En fait, vous pouvez considérer les chaînes print(ch[3:]) # tout sauf les 3 premiers caractères
comme des listes de caractères: chaque >>> iette
caractère est un élément séquentiel dans
la liste, à partir de l'index 0.
print(ch[:-3]) # tout sauf les 3 dernierscaractères
• Vous pouvez trancher une chaîne >>> Julie
exactement comme une liste!
print(ch[-3:]) # les 3 dernies caractères
>>> tte
Listes: Découpage des
liste et de Chaine de animals = "catdogfrog"
caractères
• # The first three characters of animals
• En fait, vous pouvez considérer les chaînes • cat = animals[:3]
comme des listes de caractères: chaque
caractère est un élément séquentiel dans
la liste, à partir de l'index 0. • # The fourth through sixth characters
• dog = [3:6]
• Vous pouvez trancher une chaîne
exactement comme une liste!
• # From the seventh character to the end
• frog = [-4:] ou [6:]
1. animals=["cat","bat"]
Listes: quelque 2. animals.insert(1, "dog")
opérations 3. Int = animals.index("bat")
4. Print (int)
Parfois, vous voulez seulement accéder à une
5. Print (animals.index("bat"))
partie d'une liste.
• Nous pouvons insérer des éléments dans
une liste.
Exécuter
animals.insert(1, "dog")
animals.index("bat")
Listes: Découpage des liste
Parfois, vous voulez seulement accéder à une
1. letters = ['a', 'b', 'c', 'd', 'e’]
partie d'une liste.
2. slice = letters[1:3]
• D'abord, nous créons une liste appelée 3. Print(slice)
lettres. 4. Print(letters)
• Ensuite, nous prenons une sous-section de
la liste et la stockons dans slice . Nous
faisons cela en définissant les indices que
nous voulons inclure après le nom de la Exécuter
liste: letters [1: 3].
• En Python, lorsque nous spécifions une
partie d'une liste de cette manière, nous
incluons l'élément avec le premier index,
1, mais nous excluons l'élément avec le ['b', 'c']
second index, 3. ['a', 'b', 'c', 'd', 'e']
• Ensuite, nous imprimons la découpe, qui
imprimera ['b', 'c']. Rappelez-vous, dans
Python, les indices commencent toujours
à 0, donc l'élément 1 est en fait b.
Listes: quelque
opérations
1. L1 = [5, 3, 1, 2, 4]
2. L2 = []
[3, 1, 2, 4]
List3 = List1[:] [3, 1, 2, 4]
[5, 3, 1, 2, 4]
Listes: quelque opérations
N.B : Les éléments des
• Si votre liste est un désordre brouillé, vous aurez tableaux sont toujours indexés
peut être besoin de la trier. de 0 à n exclu auquel on peut
ajouter ou retirer des
animals = ["cat", "ant", "bat"] éléments.
animals.sort()
animals.remove("cat")
Listes: Les boucles « For »
L’instruction for est une instruction composée, c’est-à-dire une instruction dont
l’en-tête se termine par deux-points :, suivie d’un bloc indenté qui constitue
le corps de la boucle.
On dit que l’on réalise une itération de la boucle à chaque fois que le corps de la
boucle est exécuté.
Dans l’en-tête de la boucle, on précise après le mot-clé for le nom d’une variable
(i dans l’exemple ci-dessus) qui prendra successivement toutes les valeurs qui
sont données après le mot-clé in. On dit souvent que cette variable (i) est
un compteur car elle sert à numéroter les itérations de la boucle.,
Exemple :
• Remarque Solution
bien :
print range(10)
0
> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
1
Print(range(4, 10))
2
> [4, 5, 6, 7, 8, 9]
...
print (range(4, 10, 2))
> [4, 6, 8]
9
adn = "atcacgtta"
Listes: Pour un et tous
for i in range(len(adn)) :
print("la lettre n", i, "est", adn[i])
la base n° 0 est a
la base n° 1 est t
la base n° 2 est c
...
la base n° 8 est a
Boucle: Plus avec "For" start_list = [5, 3, 1, 2, 4]
square_list = []
for number in start_list:
• A Faire : square_list.append(number**2)
• Ecrivez une boucle for qui se répète sur square_list.sort()
une liste de nombre nommé start_list print (start_list)
puis print (square_list)
• Ajouter chaque nombre au carré (x ** 2)
à une liste nommé square_list. Exécuter
• Puis trier square_list!
• Imprimer les contenu de square_list.
[1, 2, 3, 4, 5]
[1, 4, 9, 16, 25]
Listes: Pour un et tous choices = ['pizza', 'pasta', 'salad', 'anchois']
print ('Your choices are:')
Un des points faibles de l'utilisation de ce index = 1
style d'itération est que vous ne for index, item in enumerate(choices):
connaissez pas L'index de la chose que print (index+1, item)
vous regardez.
En général, ce n'est pas un problème, mais il
est parfois utile de savoir dans quelle mesure
vous vous trouvez. Solution
Exemple :
Si on oublie l’indentation, Python renvoie un message
d’erreur :
>>> for animal in animaux :
... print ( animal )
File " < stdin >" , line 2
print ( animal ) 5 ^ 6
IndentationError : expected an indented block.
Listes: Pour un et tous
Exercice :
Ecrire un algorithme pour parcourir
une liste des nombres et qui
supprime les doublons en utilisant
les indices ou la fonction set ()
Ou encore :
N.B: set(list) est une méthode
utilisée pour convertir n'importe
lequel des éléments avec des
éléments distincts.
LISTES MULTIPLE
87
Résumé: Les Listes list_a = ['V', 9, 17, 15, 19]
list_b = ['A', 4, 8, 10, 30, 40, 50, 80, 90]
for a, b in zip(list_a, list_b):
# Add your code here!
print (a,b)
• Il est également courant de devoir
parcourir deux listes à la fois. C’est là que
la fonction zip intégrée est très utile.
1
4
9
16
25
.. 81
100
Boucle: Pendant que tu es là
While
• Une application courante d'une boucle choix = input('vous aimer le cours? (o/n)')
while consiste à vérifier l'entrée de while choix != 'o' and choix != 'n' :
l'utilisateur pour voir si elle est valide. choix = input("pardon j'ai pas compris
• Par exemple, si vous demandez à essayer encore: ")
l'utilisateur d'entrer o ou n et qu'ils
saisissent à la place 7, vous devez les
inviter à entrer une nouvelle fois.
Boucles Infinies
While
Type d’objet
Liste Int
Dictionnaire Float
String
Tuple
Un objet mutable est ainsi un objet qui peut être modifié, dont on peut changer les propriétés
une fois qu'il a été défini. Une erreur courante est de confondre modification et réassignation.
En Python, les objets de type bool , int , str , bytes , tuple sont non mutables( immutables)
98
Les tuples
Tuple : tableau d’éléments indexés de 0 à n exclu auquel
on ne peut pas le modifier
99
Let’s play !!
10
1
I N D E X O U CLÉ residents = {'nom' : 'Ahmed', 'age':
15, 'genre': 'homme'}
• Un dictionnaire est similaire à une liste,
mais vous accédez aux valeurs en
recherchant une clé au lieu d'un
1. L'accès aux valeurs de dictionnaire
index.
par clé est similaire à l'accès aux
• Une clé peut être n'importe quelle chaîne valeurs de liste par index:
ou numéro. Les dictionnaires sont
placés entre accolades, comme ceci:
print (residents['nom'])
d = {'key1' : 1, 'key2' : 2, 'key3' : 3} print(residents['age'])
• Comme les listes, les dictionnaires sont 1. Ajoutez au moins trois autres paires clé-
modifiables. Un avantage de ceci est que valeur à la variable de menu :
nous pouvons ajouter de nouvelles 2. avec le nom de la plat (sous forme de
paires clé / valeur au dictionnaire après "chaîne") pour la clé et le prix (un
sa création comme suit: flottant ou un entier) comme valeur.
my_dict = {
• Dans l'exemple ci-dessus, nous
"fish": ["c", "a", "r", "p"],
avons créé un dictionnaire
contenant de nombreux types "cash": -4483,
de valeurs. "luck": "good" }
Print(my_dict["fish"][0])
Dictionnaire : tableau d’éléments indexés par des types immuables auquel on peut ajouter ou retirer des éléments .
109
Les fonctions avec Python
Les fonctions : Fonctions de base
Dénition Retour de résultat
La fonction peut contenir une instruction de la forme :
def nom_fct (arg1,arg2,…,argn):
return expression.
<instruction> Cette instruction permet de fournir le résultat de la
return <valeur> fonction au programme appelant.
112
Les fonctions : Lambda
Définition
lambda argument1,... argumentN : expression utilisant les arguments
lambda est une fonction qui prend un nombre quelconque d'arguments (y compris des arguments
optionnels) et retourne la valeur d'une expression unique. Les fonctions lambda ne peuvent pas contenir de
commandes et elles ne peuvent contenir plus d'une expression.
Exemple1
Exemple3
Exemple2
Les fonctions : Fonctions de base
*args et **kwargs rendent la fonction
flexible. *args transmet un nombre variable
d'arguments sans mot-clé et sur lequel les
opérations d'une liste peut être effectuée.
** kwargs transmet un nombre variable
d'arguments avec des mot-clés et sur
lequel les opérations d'un dictionnaire peut
être effectué.
*kwargs
*args
11
4
Quelques exercices avec
Python
@: [email protected]
W: www.itgate-training.com
115
Version 1.0
Exercices sur les conditions « if »
1- Imprimez "Oui" si a est égal à b, sinon imprimez "Non".
2- Cet exemple manque d'indentations pour être correct.
Insérez l'indentation manquante pour que le code soit correct:
if 5 > 2:
print("Five is greater than two!")
if 5 > 2:
print("Five is greater than two!")
Correction
Exercices sur les conditions «while »