Académique Documents
Professionnel Documents
Culture Documents
2023/2024
Présenté par AMAL TARIFA
Plan
• Introduction Générale (python+ data science)
• Types de variables , les boucles, les fonctions, les décorateurs
• POO , les exceptions, les tests unitaires
• Numpy + TP
• Pandas + TP
• Matplotlib+ analyse exploratoire +TP
• Préparation de la data
• ML:Supervisé
• ML:Non supervisé
• Traitement des données textuelles, embedding
• deep learning
• Mini Projet
Il a été créé par Guido van Rossum en 1991 et développé par la “Python Software
Foundation”. Il a été conçu en mettant l'accent sur la lisibilité du code et sa syntaxe
permet aux programmeurs d'exprimer leurs concepts en moins de lignes de
code.Python est un langage de programmation qui vous permet de travailler
rapidement et d'intégrer des systèmes plus efficacement.
Particularités:
Particularités:
1. ‘Garbage Collector’ automatique
2. Programmation GUI (interfaces) [ PyQt5, PyQt4, wxPython, Tk in
Python]
3. Intégré
4. Interprété
Particularités:
Rappel: Interprété??
Particularités:
Rappel: Compilé??
exemple: C, C++, C#
Code machine
La portabilité !!
Particularités:
un entier en C est essentiellement une étiquette pour une position en mémoire dont les octets codent une
valeur entière.
Un entier Python est un pointeur vers une position en mémoire contenant toutes les informations de l'objet
Python, y compris les octets qui contiennent la valeur entière.
Particularités:
Anaconda: est un outil en distribution libre et open source destiné à la programmation Python et R. Il contient
plusieurs packages.
Jupyter notebook: C'est un outil puissant pour développer et présenter de manière interactive des projets de
science des données.
Les interpréteurs:
CPython : le plus utilisé, l'interpréteur original écrit en langage C . Utilisé par anaconda.
Jython: fonctionne dans une machine virtuelle Java, permet l'interaction, au sein de la même machine
virtuelle Java, de code écrit en Java avec du code écrit en Python.
Syntaxe:
Par exemple:
a=5
if a > 2:
print(“a est sup!")
a=5
erreur
if a > 2:
print(“a est sup!")
Les variables n’ont pas besoin d’une déclaration à l’avance, on assigne une valeur et le type est
automatiquement assigné et la vérification se fait à chaque lecture ou utilisation de celle ci:
z = -325552 print(type(z))
z = -35.59 print(type(z))
z = -5j print(type(z))
Pour la declaration des variables, il faut éviter les mots clés, liés à python:
Texte : str
Numérique: int, long, float, complex
Mappage: dict
Immutable VS mutable:
Immuable --→ pas de mise à jour:
Exemple:.
b=5
b += 2 ---→nous ne mettons pas à jour 5 à 7, mais le pointeur est déplacé vers 7.
Par contre les variables mutable comme les listes sont mis à jour localement et on ne
créé pas de nouvelles listes.
Ou ‘’ ‘’ ‘’ …………’’ ‘’ ‘’
x = mySeparator.join(myDict)
isnumeric(): vérifie s’il y a un nombre dans le
string
Exercices :
Inverser le texte suivant en éliminant les caractères spéciaux et en les remplaçant par des espaces:
animaux = "girafe:tigre:singe::souris“.
i=0
while i < len(L1):
print(L1[i])
i=i+1
sort() est utilisé pour ordonner les items Pour copier une liste:
(ascendant), s’il s’agit de string, c’est l’ordre L1.copy()
alphabétique qui est considéré. Ou
L1=[‘karim’,’salma’,’hamdi’, ‘Youssef’,’lili’] L2=List(L1)
Créer un dict:
myfamiy.keys()=>[child1, child2, child3]
Try it Yourself »
Myfamily.get[‘child1’]=> {
"name" : "Emil", nombre_de_pneus = {}
"year" : 2004 nombre_de_pneus["voiture"] = 4
} nombre_de_pneus["vélo"] = 2
0 1 1 2 3 5 8 13 21 34 55 89
Try it Yourself »
• Vérifier si une liste est un palindrome. (L1=[1,2,3,2,1])
Nom_objet.nom_methode(arguments)
compteur_complet(1, 7, 2)
Nous pouvons inclure une fonction dans une autre, appelée fonction imbriquée.
Nous pouvons passer une fonction comme argument à une autre fonction en Python.
Try itPar exemple:
Yourself »
def add(x, y):
return
return x ++ yy
def calculate(func, x, y):
y):
return
return func(x, y)y) greeting(name):
def greeting(name):
result = calculate(add, 4, 6) def hello():
print(result) # prints
prints 10
10 return "Hello,
return "Hello, " + name
name + "!"
"!"
return hello
return hello
Nous pouvons retourner une fonction greet
greet == greeting(“Amal")
greeting(“Amal")
print(greet()) # prints
prints "Hello, Amal!“
Amal!“
# output???
=Smart_divide(divide(2,5))
multiply(4, 5)
def myFun(**kwargs):
multiply(10, 9)
for key, value in kwargs.items():
multiply(2, 3, 4)
print("%s == %s" % (key, value))
multiply(3, 5, 10, 6)
# Driver code
myFun(first='Geeks', mid='for', last='Geeks')
class MaClasseFille(MaClasseMere):
def __init__(self):
super().__init__() NB: L’accès au code de la classe mère se fait à travers
… super().
Notions basiques
L’héritage
L’hériage multiple est possible:
La surcharge est possible:
• Attributs class Client(Utilisateur, Enseignant):
• Fonctions def __init__(self):
Try it Yourself »
Utilisateur.__init__(self)
Pour un attribut, il suffit de remplacer sa valeur dans la classe Enseignant.__init__(self)
fille:
Chaque client étant à la fois un
class Client(Utilisateur):
utilisateur et un enseignant, il peut
def __init__(self):
hériter des deux classes.
Utilisateur.__init__(self)
self.user_name = ‘Karim'
Attention aux fonctions ayant le
Pour une fonction, il suffit de la réécrire. meme nom dans les classes mères.