TS Pthon

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 96

Université Hassan 1er

Faculté des Sciences et Techniques


de Settat

Le 24 Octobre 2023
Plan :
Introduction à Python
HISTORIQUE :

Python a été créé par Guido van Rossum en 1989. Il est connu pour sa
simplicité et sa lisibilité, ce qui en fait un choix populaire pour les
développeurs. Au fil des années, Python est devenu l'un des langages de
programmation les plus utilisés au monde. Il est particulièrement prisé dans les
domaines de la science des données, de l'apprentissage automatique et du
développement web. Python continue de se développer grâce à sa
communauté active et à sa polyvalence.

Première
1989 version Oct. 2, 2023

Python
Guido 1991
3.12.0
Van
Dernière
Rossum 3
version
INSTALATION PYTHON :

Pour travailler avec Python, vous aurez besoin d'un éditeur


de texte ou d'un environnement de développement intégré
(IDE) pour écrire, exécuter et gérer votre code.

REFERENCES POUR TELECHARGER PYTHON SUR Pycharm :

PYTHON :
https://www.python.org/downloads/

4
5
Pycharm : https://www.jetbrains.com/pycharm/download/?section=windows#section=windows
NB: only the community edition of pycharm is free.
7
Pourquoi Python ?

01
02

03
Applications de Python :
● Développement web : Django et Flask
● Analyse de données : Pandas pour l’analyse
● Machine learning : ScikitLearn et TensorFlow
● Traitement du langage naturel : analyse de texte
● Automatisation des tâches : gestion de fichiers,
emails, bases de données
● Traitement d’images et de vidéos: OpenCV

9
10
11
l'intelligence artificielle :
Apprentissage profond : (Deep learning)
• Pour des tâches plus complexes telles que la
reconnaissance d'images ou la compréhension du
langage naturel, on utilise souvent l'apprentissage
profond avec des cadres comme TensorFlow et PyTorch.
• Construisez et entraînez des réseaux neuronaux
profonds pour gérer des motifs complexes et des
représentations de données.

Amélioration continue : (Continuous improvement)


• Les modèles d'IA nécessitent souvent une amélioration
continue et une surveillance. Vous pourriez avoir besoin
de réentraîner les modèles avec de nouvelles données
et d'ajuster leur performance.
12
Programmation orientée objet:
Découvrir les notions suivantes :
● Objets
● Classe
● Constructeurs
● Encapsulation
● Setters(), Getters()

13
Classe :
Une classe (dans POO) définit les attributs
(variables) et les méthodes (fonctions) qui
caractérisent les objets de cette classe, ce qui
permet de regrouper des données et des
fonctionnalités associées dans une seule
entité.
Objets :
-Attributs

-Méthodes
Traduction en Python :

Affichage
Constructeur :
Un constructeur est une méthode spéciale
nommée __init__ qui est utilisée pour
initialiser les attributs d'un objet lors de sa
création. Le constructeur est
automatiquement appelé lorsque vous
instanciez une classe pour créer un nouvel
objet. Il permet de configurer l'objet en
définissant ses propriétés et son état initial.
Voici un exemple :

Affichage
L'encapsulation:
L'encapsulation en Python est le concept de
masquer les détails internes d’une classe et
de restreindre l’accès à ses données et
méthodes en utilisant des attributs et des
méthodes privés (généralement indiqués par
un préfixe de double soulignement, comme
``__attribut_privé´´). Cela favorise la
protection des données, la modularité du
code et un accès contrôlé aux éléments
internes d’un objet.
Voici un exemple :

Affichage

L'attribut nom n’est plus accéssible


Getters() :
Pour accéder à un attribut privé, il est
obligatoire de passer par une méthode qui
renvoie sa valeur, communément appelée un
"getter". Par conséquent, on peut affirmer
que les "getters" sont des méthodes
couramment employés pour l'affichage des
attributs privés.
Affichage
NB : Après l'initialisation d'un attribut, il n'est pas possible de modifier sa valeur
par la méthode simple.

Affichage

Le nom de la voiture n’est pas changé.

C’est le fonctionnement des ``setters()´´.


Setters() :
Comme les getters, les setters ont
également une utilisation particulière sur
les attributs privés, servant à modifier la
valeur de ces attributs privés.
Voici une application:

Affichage
À quoi sert la programmation orientée objet ?

La programmation Il favorise la La POO facilite la


modélisation du monde
orientée objet (POO) réutilisation du code,
réel dans le code et
est utilisée pour la maintenance et la améliore la sécurité et la
organiser le code de gestion des systèmes compréhension du code
manière modulaire. complexes. source.

27
La différence entre compilation et interprétation

● La compilation traduit l’intégralité du code source en


langage machine en une seule fois.
● L’interprétation lit le code source ligne par ligne et le
traduit en langage machine au fur et à mesure.
● Les programmes compilés sont plus rapides à
exécuter, tandis que les programmes interprétés sont
plus portables et plus faciles à déboguer.

28
Les Variables :

● Une variable est une zone de la mémoire de


l’ordinateur dans laquelle une valeur est
stockée.
● Python est un langage typé dynamiquement
qui alloue de l’espace mémoire et attribue
automatiquement des valeurs.
● Les variables en Python sont définies avec une
seule ligne de code, ce qui le rend plus
efficace par rapport aux autres langages.

29
.

Input / Output
Fonction print():
Premierement on doit passer par le fonctionnement de “Print()”:
Print() sert à afficher un message ou d’extraire d’une valeur d’un
variable.

Syntaxe :

value : N'importe quelle valeur.


sep = ’separator’: (Facultatif) Spécifiez comment séparer
les objets s’il y en a plus d’un.
Défaut : ‘ ‘ (espace).
end = ’end’ : (Facultatif) Spécifiez ce qu’il faut afficher à la
fin. Défaut: '\n' (retour à la ligne)

30
Exemple d’execution :

Le programme affiche:

31
Input / Output
Fonction input():
Permis aussi d’afficher un message et il demande l’insertion
du donner qu’on le stocke dans un variable.

Syntaxe :

msg : est la chaîne que nous souhaitons afficher à l'écran.

Exemple d’execution :

Le programme affiche:
NB :
La fonction input() lit les chaines de caractères par défaut, sauf si le
programmeur précise le type de données souhaité. Par exemple, si
l’on souhaite obtenir un entier, on doit utiliser la fonction int() pour
convertir la valeur entrée en un nombre entier.
Example:

Le programme affiche :
Si la valeur entrée est un entier :

Sinon le programme affiche un message d’erreur:


Instructions de contrôle
Suite /séquence d'instructions :

Sauf mention explicite, les instructions s'exécutent les unes après les autres, dans l'ordre où elles ont été

écrites à l'intérieur du programme

Le "chemin" suivi par Python à travers un programme est appelé un flux d'instructions, et les constructions

qui le modifient sont appelées des instructions de contrôle de flux.

Exécution conditionnelle :
Les structures de contrôle conditionnelles (ou plus simplement conditions) vont nous permettre d’exécuter
différents blocs de code selon qu’une condition spécifique soit vérifiée ou pas.

Nous allons très souvent utiliser les conditions avec des variables : selon la valeur stockée dans une
variable, nous allons vouloir exécuter un bloc de code plutôt qu’un autre.

34
Python nous fournit les structures conditionnelles suivantes :
➢ Instruction « if » :
#code à exécuter si la condition est vraie.

35
Instruction « ELif » :
L'instruction "elif" : Elle permet de spécifier une condition alternative à vérifier si la condition
précédente est fausse.

exemple:

… 36
Instruction «ELSE » :
L'instruction "else" : Elle permet de spécifier un bloc de
code à exécuter si aucune des conditions précédentes n’est
pas vraie.

37
Exemple :

Ces structures conditionnelles nous permettent de prendre des

décisions dans notre code en fonction de l'évaluation de conditions.

Nous pouvons également imbriquer des instructions "if", "elif", et

"else" pour gérer des cas plus complexes.

38
Instructions imbriquées :

● Il est parfaitement possible d'imbriquer les unes dans les autres


plusieurs instructions composées, de manière à réaliser des structures
de décision complexes. Exemple :

39
Opérateurs arithmétiques :
Définition :
Un opérateur est un signe ou un symbole qui va nous permettre de réaliser une
opération.

40
Opérateurs de comparaison :

La condition évaluée après l'instruction if peut contenir les opérateurs de

comparaison suivants :

x == y # x est égal à y

x != y # x est différent de y

x>y # x est plus grand que y

x<y # x est plus petit que y

x >= y # x est plus grand que, ou égal à y

x <= y # x est plus petit que, ou égal à y

41
Operateurs de bits :

42
Exemples:

43
Opérateurs spéciaux :

Le langage Python offre des types d'opérateurs spéciaux, tels que:

Opérateur d'identité: "is" et "is not" ils permettent de vérifier si deux variables

sont situées sur la même emplacement mémoire.

Opérateur d'appartenance : "in" et "not in" ils sont utilisés pour tester si une

variable est trouvée dans une séquence (liste, tuple, …).

44
Affectation multiple :
En Python, nous pouvons effectuer une affectation
multiple en assignant plusieurs valeurs à plusieurs
variables en une seule instruction.

Exemple 1 :

45
Exemple 2 :
Échange de valeurs entre deux variables

46
Instructions répétitives :
En Python, il existe plusieurs façons d'exécuter des instructions de manière répétitive. Les deux principales
structures de contrôle utilisées à cet effet sont les boucles for et while. Voici comment les utiliser pour
effectuer des instructions répétitives :
1-boucle for :
•Fonction range :
Range est une fonction intégrée qui génère une séquence d'entiers dans un intervalle spécifié.
Elle est souvent utilisée dans les boucles for pour itérer sur une séquence d'entiers.
Syntaxe :
Range(start, stop, step)
✓ ‘start’(optionnel): L'entier de départ de la séquence.
Par défaut, il est égal à 0 si non spécifié.
✓ ‘stop’(obligatoire) : L'entier à partir duquel la séquence s'arrête (non inclus dans la séquence).
La séquence s'arrête avant d'atteindre cette valeur.
✓ ‘step’(optionnel) : L'incrément entre chaque nombre de la séquence. Par défaut, il est égal à 1 si non spécifié

47
La boucle for est généralement utilisée pour
parcourir une séquence (comme une liste ou
une chaîne de caractères) ou pour exécuter des
instructions un nombre prédéterminé de fois.

Exemple :

48
2-boucle while :
La boucle while est utilisée lorsque vous souhaitez répéter des instructions tant qu'une condition spécifiée est
vraie ou bien lorsqu’on ne sait pas le nombre de répétition.

Exeplme :

49
Les fonctions :
Définition :
Une fonction exécute des actions et renvoie un résultat. C'est un morceau de code qui sert à faire quelque
chose de précis. On dit qu'une fonction possède une entrée et une sortie. La fig. suivante représente une
fonction schématiquement.

En programmation, les fonctions sont très utiles pour réaliser plusieurs fois la même opération au sein d’un
programme. Elles rendent également le code plus lisible et plus clair en le fractionnant en blocs logiques.
•Déclaration d’une fonction :
La fonction généralement composé de :

-mot-clé def (define).


Exemple :
-nom de la fonction.
-Arguments de fonction.
def ma_fonction(Argument1,Argument2,…) :
-Traitement.
#Bloc d’instruction
-Résultat retourné .
50
Remarque :
- Une particularité des fonctions en Python est que vous n’êtes pas obligé de préciser le type des
arguments que vous lui passez. Python est un langage au typage dynamique.
- Un énorme avantage en Python est que les fonctions sont capables de renvoyer plusieurs valeurs à la fois.

❖ Appel de la function:

51
❖ Variables locales :

Une variable est dite locale lorsqu’elle est créée dans une fonction, car elle n’existera et ne

sera visible que lors de l’exécution de cette fonction.De même, une variable passée en argument

est considérée comme locale.

❖ Les variables globales:


Une variable est dite globale lorsqu’elle est crée dans le programme principal elle sera visible partout dans
le programme.

Remarque :Si on veut vraiment modifier une variable globale dans une fonction, il faut utiliser le mot-clé
global :
Exemple :>>> def mafonction():
... global x 52
... x = x + 1
53
❖ Les fonctions anonymes :
Python permet la création de fonctions anonymes (i.e. sans nom et donc non définie par def)
à l’aide du mot-clé lambda. Une fonction anonyme ne peut pas avoir d’instruction return
et doit forcément retourner une expression. De telles fonctions permettent de représenter
tout sous forme de fonctions sans réellement en définir explicitement.
Les fonctions anonymes en Python sont appelées "lambda functions" ou "expressions lambda".

Elles sont définies à l'aide du mot-clé lambda et sont souvent utilisées pour créer des fonctions
simples et courtes sans avoir besoin de déclarer une fonction nommée.
La syntaxe générale d'une fonction lambda est la suivante :
Nom_fnoction= lambda argument :expression
Exemples :

54
Les chaînes de caractères :
❖ Définition :
Les chaînes de caractères sont des variables contenantes du texte. On appelle ça "chaîne de caractères"
car ce sont plusieurs caractères qui se suivent. Dans une chaîne de caractères on peut trouver une succession
de lettres, des nombres, des chiffres, …
Exemple :

❖ Initialisation :
On peut les créer simplement les variables de type chaînes de caractères par
placement des caractères entre deux guillemets.
Exemple :
nom = "Mohamed"
age = "20 ans !"
Remarque :
Python traite les guillemets (double quottes) et les primes (les simples quottes) et 55
même un triplé de primes ou de guillemets, de la même façon.
❖ Indexation d’une chaine de caractère :
En Python, nous pouvons accéder aux valeurs individuelles d'une chaîne
de caractères en utilisant l'indexation.

B O N J O U R

0 1 2 3 4 5 6
-7 -6 -5 -4 -3 -2 -1

56
Remarque :
le début est toujours inclus et la fin toujours exclue.

57
❖ chaines de caractères sont immuables :
En python, les chaines de caractères ne peuvent pas subir des modifications de la même
manière que les liste. Ainsi l’instruction suivante est non permise :

Mais, on peut créer des variations d’une chaine de caractères en créant de


nouvelles chaines de caractères.

58
❖ Les opérateurs de chaîne de caractères :
• Addition (Concaténation) :
Ajoute une chaîne à la suite d'une autre :
chaine1 = "Bonjour"
chaine2 = " Youssef"
chaine = chaine1 + chaine2
print(chaine)
On obtient : Bonjour Youssef

• Multiplication (Répétition ) :
Chaine1 = "Bout"
chaine = chaine1*3
print(chaine)
On obtient : BoutBoutBout
59
❖ Fonctions utiles sur les chaînes de caractères :
 Fonction len(…) :
Retourne la taille de la chaine.
Exemple :
chaine1 = "bout1"
taille = len(chaine1)
print(taille)
On obtient : 5
 Fonction str(…) :
Transforme un chiffre en texte.
Exemple :
chaine = str(6)
print(chaine)
On obtient : le caractère '6'. 60
 Fonction eval(…) :
Evaluer une chaîne chiffrée ou une expression.
Exemple :
val = eval('6')
print(val)
x=5

res = eval("x+2")
print(res)
On obtient :
6
7
❖ Méthodes utiles sur les chaînes de
caractères :
61
Méthode : Description :

chaine.upper() Retourne la chaîne en majuscule. chaine = "bout1"


majuscule = chaine.upper() print(majuscule)
On obtient : BOUT1
chaine.lower() Retourne la chaîne en minuscule. chaine = "BOUT1"
minuscule = chaine.lower() print(minuscule)
On obtient : bout1
chaine.find("...") Retourne l'index du caractère s'il est présent dans la chaîne.
chaine = "bout1"
index = chaine.find("u") print(index)
On obtient :
Si le caractère n'est pas présent, on obtient -1.
chaine.index("... Retourne l'index du caractère s'il est présent dans la chaîne.
")
chaine = "bout1"
index = chaine.index("u") print(index) 62
chaine.split("... Retourne la chaîne sous forme de liste en fonction du séparateur. chaine = "Salut ca va ?
") " liste = chaine.split(" ")
print(liste)
Comme ici le séparateur est l'espace, on obtient :
['Salut', 'ca', 'va', '?'].

"...".join(...) Retourne une liste sous forme de chaîne en fonction du séparateur. liste = ["Salut", "ca", "va", "?"] chaine = " ".join(liste)
print(chaine)
Comme ici le séparateur est l'espace, on obtient : Salut ca va ?.

chaine.replace( Retourne une chaîne résultat du remplacement des occurrences de la chaîne old par la chaîne new.
old, new) ch ="Bonjour Omar"]
res =ch.replace("jour", "soir") print(res)
On obtient : Bonsoir Omar

63
Piles et File :

1-PILES :
❖ Définition :
une pile est une structure de données fondée sur le
principe dernier arrivé, premier sorti (LIFO).

❖ Les opérations caractéristiques d’une pile:


➢ creer_pile(c):renvoie une nouvelle pile de capacite C, initialement vide.
#la syntaxe: >>>def creer_pile():
return[].
64
➢ depeler(p):enlève l’ élément au sommet de la pile P et le renvoie.si la pile est vide,renvoie une erreur.
#la syntaxe: >>>def depeler(P):
return P.pop()
➢ Empiler(p,x):ajouter l’ élément x a la pile P si la pile n’est pas pleine.sinon renvoie une
erreure.
#la syntaxe: >>> def empiler(x, P):
P.append(x)

➢ Taille(P):renvoie le nombre d’ élément contenue dans la pile P.


#la syntaxe: >>> def taille(P):
return len(P)
➢ Est_vide(P):indique si la pile est vide ou pas.
#la syntaxe: >>> def est_vide(P):
return P==[]
➢ Sommet(P): renvoie le sommet de la pile ,sans modifier P.
#la syntaxe: >>> def sommet(P):
return P[-1]

65
2-Files :
❖ Définition :

Une file est une structure de données fondée


sur le principe premier arrivé, premier sorti (FIFO).
Remarque:
C'est l'inverse de la pile : on gère l'extraction et l'insertion par
les deux extrémités opposées.

66
Listes en Python
Les listes sont des structures de
données fondamentales en
Python
01
Les listes Python sont
similaires aux tableaux

05 Les listes sont des collections


02 d’éléments ordonnées et
modifiables

04
Les listes peuvent contenir des
03
données de différents types
Les listes sont utiles pour
stocker, manipuler et organiser
des données
Création d’une liste

Utiliser des crochets [] pour


créer une liste
01
Exemple : liste_vide = []

05
02
Séparer les éléments par des
virgules

Des listes vides peuvent 04


également être créées à l’aide de 03 Exemple : ma_liste = [1, 2, 3, 4, 5]
[] ou list()
Accès aux éléments
● Les éléments d’une liste sont accessibles à l’aide d’index
Exemple :

69
Modification des listes

Les éléments d’une liste peuvent être modifiés

01
Exemple : ma_liste[1] = 42

02

70
Ajout et suppression d’éléments

Pour ajouter des Exemple :


éléments, utilisez 02 ma_liste.append(6),
append() ou insert() ma_liste.insert(2, 100)

01 03
Pour supprimer des
Exemple : éléments, utilisez remove()
ma_liste.remove(4), del ou del
ma_liste[0] 04
Dictionnaires

Les dictionnaires stockent Utile pour stocker et accéder


plusieurs valeurs à l’aide de aux informations
clés
Exemple:

72
Tuples
Les tuples sont des séquences de valeurs non modifiables

Semblable aux listes mais immuable

Exemple

01

02

73
Bibliothèques:
une bibliothèque (ou module) est un ensemble de fonctions et d'outils prédéfinis qui
permettent d'effectuer des tâches spécifiques.
Il existe différentes bibliothèques pour différents domaines et fonctionnalités
Python a une riche bibliothèque:

● NumPy : Bibliothèque pour le calcul numérique

Manipuler des tableaux

74
Création de tableaux standards :
Exemple:
Tableau 1D

75
OPERATION SUR LES MATRICE

76
Pandas :
Pandas est une bibliothèque de manipulation et d'analyse de données.
Elle offre des structures de données flexibles (comme les
DataFrames est un type de donnée similaire à un dictionnaire)
pour effectuer des opérations de nettoyage, d'analyse et de
transformation de données

Exemple:

77
Matplotlib : Bibliothèque de visualisation des données
Exemple:

78
Seaborn : Bibliothèque de visualisation statistique
Exemple:

79
Affichage

80
Requêtes : requêtes HTTP( hyper text transfer protocol ) et API web ( Application
Programming Interface)

requêtes HTTP :

L'ordinateur de l'internaute utilise le navigateur pour envoyer une requête à un serveur web. Cette requête
demande un document (exemple: page HTML, image, fichier CSS ...). Le serveur cherche les
informations, puis il est peut-être amené à interpréter les résultats (exemple: PHP, Java ...), pour
finalement envoyer la réponse. Cette réponse contient les entêtes du protocole HTTP et normalement le
contenu demandé.
81
Requêtes API web:

82
OpenCV : Bibliothèque de traitement d’images et de vidéos

83
SQLite3 : Bibliothèque intégrée pour la gestion des bases de données
SQLite3 est un module Python qui permet de travailler avec des
bases de données SQLite, un système de gestion de base de
données relationnelles léger et autonome.
Exemple:

84
Socket : Développement d’applications réseau

En anglais un socket est un "trou" qui laisse passer des choses,


comme une prise électrique, l'emplacement du processeur, ou
une bouche.
Le socket est donc dans notre cas une association au niveau de
l'OS entre un programme qui tourne en boucle et le port de la
machine qui lui a été dédié. On dit d'ailleurs que le programme
écoute le port qui lui a été réservé. Il écoute le port et répond
aux demandes faites par ce port.

85
DateTime: Travailler avec les dates et les heures
permet de gérer les dates et les heures. Il offre des classes telles que
datetime.datetime pour représenter les dates et les heures,
datetime.date pour représenter les dates uniquement, et datetime.time
pour représenter les heures uniquement. Le module datetime offre
également des fonctions pour effectuer des opérations de calcul sur les dates
et les heures, comme l'addition ou la soustraction de jours

Exemple

86
Tkinter
bibliothèque d'interfaces graphiques, pour gréer des fenêtre
graphiques:

87
Tkinter

Tkinter est une bibliothèque graphique intégrée à Python qui permet de


créer des interfaces utilisateur graphiques (GUI). Son nom "Tkinter" est
une combinaison de "Tk" qui est la boîte à outils graphique sous-jacente
utilisée, et "inter" pour "interface". Tkinter fournit des composants
graphiques tels que des fenêtres, des boutons, des étiquettes, des
champs de texte et bien d'autres, pour créer des applications avec des
interfaces utilisateur interactives.

Tkinter est un module Python standard qui facilite la création


d'applications avec des fenêtres et des éléments graphiques, permettant
aux développeurs de concevoir des interfaces utilisateur conviviales pour
leurs programmes.

88
Des fonctions prédéfinies en Tkinter :

Tk() : Cette commande crée une fenêtre principale de l'application


Label : Il s'agit d'un widget de texte qui permet d'afficher du texte statique dans une
fenêtre Tkinter
Button : Cette commande crée un bouton dans la fenêtre
Entry : C'est un widget de saisie de texte qui permet à l'utilisateur de saisir du texte
dans une zone de texte
Canvas : Il s'agit d'un widget qui permet de dessiner des graphiques, des formes et
d'autres éléments graphiques
Frame : Un cadre est utilisé pour créer une zone de regroupement pour d'autres
widgets

89
Exemple : (Types des signaux usuelles)

90
91
92
L’interface graphique:

93
Cas pratique

94
95
Merci. N’hésitez pas à poser vos questions. 😄

96

Vous aimerez peut-être aussi