0% ont trouvé ce document utile (0 vote)
38 vues36 pages

Python Part1

Le document présente un cours d'introduction au langage de programmation Python. Il contient des sections sur les notions de base comme les types de variables, les boucles, les fonctions, la programmation orientée objet, les exceptions et les expressions régulières.

Transféré par

مريم جميعي
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
38 vues36 pages

Python Part1

Le document présente un cours d'introduction au langage de programmation Python. Il contient des sections sur les notions de base comme les types de variables, les boucles, les fonctions, la programmation orientée objet, les exceptions et les expressions régulières.

Transféré par

مريم جميعي
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Cours Introduction au Python

2023/2024
Présenté par AMAL TARIFA
Plan
• Introduction Générale (python),
• Notions basiques: Types de variables , les boucles, les fonctions,
• Les décorateurs ,
• POO ,
• Les exceptions,
• Les tests unitaires,
• Les expressions régulières.

Presented By PhD Amal TRIFA


Introduction
générale

Presented By PhD Amal TRIFA


Introduction générale

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
[Link] est un langage de programmation qui vous permet de travailler
rapidement et d'intégrer des systèmes plus efficacement.

Deux versions principalement:


• Python 2
• Python 3

Presented By PhD Amal TRIFA


Introduction générale

Particularités:

1. Libre et open source


2. Orienté objets
3. Mode Interactif
4. De haut niveau
5. Des librairies standards
6. Scalable (évolutif)
7. Extensible
8. Portable

Presented By PhD Amal TRIFA


Introduction générale

Particularités:
1. ‘Garbage Collector’ automatique
2. Programmation GUI (interfaces) [ PyQt5, PyQt4, wxPython, Tk in
Python]
3. Intégré
4. Interprété

Presented By PhD Amal TRIFA


Introduction générale

Particularités:

Rappel: Interprété??

l'interpréteur va exécuter les lignes du code une par


une.

(+) Dans un langage interprété, le même code


source fonctionne directement sur tout ordinateur.
Avec un langage compilé, on doit tout recompiler à
chaque fois ce qui pose parfois des soucis.

Exemple: PhP, Javascript, python, Java

Presented By PhD Amal TRIFA


Introduction générale

Particularités:

Rappel: Compilé??

(+)Dans un langage compilé, le


programme est directement exécuté sur
l'ordinateur, donc il sera en général plus
rapide que le même programme dans un
langage interprété.

exemple: C, C++, C#

Presented By PhD Amal TRIFA


Introduction générale
Particularités: Interprété et
portabilité Si pas d’erreurs

Code machine

La portabilité !!

Presented By PhD Amal TRIFA


Introduction générale

Particularités:

Tout est objet en python!!!


x=1
NB: x n’est pas une simple valeur mais un pointeur vers un objet (Pyobject)!!!

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.

Presented By PhD Amal TRIFA


Introduction générale

Particularités:

Une large communauté

Presented By PhD Amal TRIFA


Introduction générale

Pour pouvoir exécuter du python , il faut avoir un interpréteur et un IDE:


• Eclipse with PyDev Plugin
• Python Tools for Visual Studio (for Windows users)
• PyCharm
• Spyder
• Komodo IDE

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.

Presented By PhD Amal TRIFA


Introduction générale

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 .du code écrit en Java avec du code
écrit en Python.

PyPy: écrit en python, offre une portabilité extrême.

Presented By PhD Amal TRIFA


Introduction générale

Syntaxe:

Python utilise l'indentation pour indiquer un bloc de code.

Par exemple:
a=5
if a > 2:
print(“a est sup!")

a=5
erreur
if a > 2:
print(“a est sup!")

Presented By PhD Amal TRIFA


Notions basiques

Presented By PhD Amal TRIFA


Notions basiques
Les variables

Le type est attribué dynamiquement.

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))

Presented By PhD Amal TRIFA


Notions basiques
Les variables

Pour la declaration des variables, il faut éviter les mots clés, liés à python:

and del from None True as elif global


nonlocal try assert else if not while break
except import or with class False in pass yield
continue finally is raise def for lambda return

Presented By PhD Amal TRIFA


Notions basiques
Les variables: types

Texte : str
Numérique: int, long, float, complex

Séquences: list, tuple

Mappage: dict

ensemble: set, frozenset


Boolean: bool

Presented By PhD Amal TRIFA


Notions basiques
Les variables: mutables Vs non mutables

Presented By PhD Amal TRIFA


Notions basiques
Les variables: mutables Vs non mutables

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.

Presented By PhD Amal TRIFA


Notions basiques
Les variables: numériques

Forcer la conversion en un type spécifique (casting): Créer un nombre aléatoire:


Random
float(x)
int(y) import random
complex(z) print([Link](6, 15))
long() #randrange ([start,] stop [,step])

Faire des operations multiples: +, -, *, / , **


a= 10 x5= a//b Choice(seq), uniform(x,y)
b = 20 Seed(x), shuffle(list)
x=a+b
x2=a-b à essayer!!
x3=a*b
x4= a/b (avec virgule flottante)
x5=a**2+ b**2
Presented By PhD Amal TRIFA
Notions basiques
Les variables: boolean
>>> 3>4
Valeurs: False --→ false
True

Vous pouvez tester d’autres exemples


Opérations: >>> (3>1) and (0>1)
not, and, or

Comparaison: bool(b) -→ forcer une variable b à être


==, !=, >, >=, < et <= booléenne.
:

Presented By PhD Amal TRIFA


Notions basiques
Les variables: texte

a= ‘administration’ Longueur: len(a)


a= ‘’administration’’ Parcourir:
For x in a:
print(x)
Si plusieurs lignes:
a=‘ ‘ ‘L’administration………………………
………………………………………………… On peut verifier la presence d’un mot:
………………. if “administration" in a:
………………………………’ ‘ ‘ print("oui")

Ou ‘’ ‘’ ‘’ …………’’ ‘’ ‘’

Presented By PhD Amal TRIFA


Notions basiques
Les variables: texte

a= ‘administration’ b=‘amal , imen’ format() pour inserer un int dans un string


L’indexation d’une liste commence par 0:
H=60
print(a[2:5]) =>‘min’ txt = "My name is Amal, and I am {}"
print([Link](H))
print(a[:5]) => ‘admin’
print(a[-5:-2]) => ‘io’ txt = 'It\'s alright.’ # caractère spécial
print(txt)
[Link]()=> élimine les espaces du début et du fin
[Link](“m", “b")=> ‘adbinistration’ \t: tabulation
\n: nouvelle ligne
[Link](",") => [‘amal’, ‘imen’]
c=a+b
print(c) =>?
Presented By PhD Amal TRIFA
Notions basiques
Les variables: texte

a= ‘administration’ b=‘amal , imen’ myDict = {"name": "John", "country":


L’indexation d’une liste commence par 0: "Norway"}
mySeparator = " "

x = [Link](myDict)
isnumeric(): vérifie s’il y a un nombre dans le
string

myTuple = ("John", "Vicky")


x = "#".join(myTuple)

Presented By PhD Amal TRIFA


Notions basiques
Les variables: texte

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“.

Calculer le nombre d’apparition du caractère i.

Presented By PhD Amal TRIFA


Notions basiques Changer la valeur d’un item:
L1[0]=2
Les variables: séquences -> List
Pour insérer un item:
[Link](1, 88)=>[12,88,5,0,11,13]
[Link](88)=>[12, 5, 0, 11, 13] #valeur
Un ensemble d’items possédant chacun une [Link](1)=>[12,0,11,13] #index
indexation.
la duplication des valeurs est permise, À partir d’une liste vide:
Type d’items pour une liste: int, str, boolean, list L1=[ ]
Une liste peut contenir plusieurs types [Link](88)
L1=[12, 5, 0, 11, 13]
List() est le constructeur de création d’une liste: Associer deux listes:
L1= List((12,5,0,11,13)) L2=[0,0,0,0]
L1[0]=>12 [Link](L2) )=>[12,88,5,0,11,13,0,0,0,0]
L1[:2]=>[12,5]
L1[-1]=>13
del L1 => supprime la liste
[Link]() => liste vide
Presented By PhD Amal TRIFA
Notions basiques
Les variables: séquences -> List

Pour parcourir une liste: [x+2 for x in thislist]


L1 =[12,5,0,3,13] La méthode la plus courte et efficace
for x in L1:
print(x)

for i in range(len(L1)): Exercice:


print(L1[i]) L1=[‘karim’,’salma’,’hamdi’, ‘Youssef’,’lili’]
Afficher les noms qui intègrent la letter ‘a’

i=0
while i < len(L1):
print(L1[i])
i=i+1

Presented By PhD Amal TRIFA


Notions basiques
Les variables: séquences -> List

sort() est utilisé pour ordonner les items Pour copier une liste:
(ascendant), s’il s’agit de string, c’est l’ordre [Link]()
alphabétique qui est considéré. Ou
L1=[‘karim’,’salma’,’hamdi’, ‘Youssef’,’lili’] L2=List(L1)

print([Link]()) Pour joindre deux listes:


L3=L1+L2
Ou
Ordre descendant : for x in L2:
[Link](reverse=True) [Link](x)
Ou
[Link](L2)
[Link]()=> renverser l’ordre des items
[Link](‘karim’)=>0

Presented By PhD Amal TRIFA


Notions basiques
Les variables: séquences -> Tuple
Pour forcer la modification:
Tuple ->list -> tuple:
C’est un ensemble d’éléments qui ne peuvent pas x = ("apple", "banana", "cherry")
changer après la création, pas d’ajout d’éléments ni y = list(x)
de suppression. y[1] = "kiwi"
Duplication possible. x = tuple(y)
Len()
Un tuple peut inclure plusieurs types à la fois:
L1=tuple((‘karim’, 100, 20, ‘aicha’)) Possibilité d’ajouter tuple1 à tuple 2:
L1[0]=>’karim’ L1 = ("apple", "banana", "cherry")
L1[-1]=>’aicha’ L2= ("orange",)
L1 += L2
if “aicha" in L1:
print("Yes") Del L1=> supprime L1

Presented By PhD Amal TRIFA


Notions basiques
Les variables: séquences -> Tuple

Subdiviser le tuple: Pour dupliquer le contenu d’un tuple plusieurs fois:


pers = (“amine", “karime", “salma") n=2
(a, b, c) = pers pers = (“amine", “karime", “salma")
print(a) L1 = pers * n
print(b)
print(c)
Le matching n’est pas equitable:* count():Renvoie le nombre de fois qu'une valeur
pers = (“amine", “karime", “salma“, “imen”) apparaisse dans le tuple.
(a,b,*c)=pers index (): Recherche l’indexe une valeur spécifiée
c=>[“salma”, “imen”] liste

Presented By PhD Amal TRIFA


Notions basiques
Les variables: séquences -> Set
Pour supprimer un élément d'un ensemble, utilisez la
méthode remove () ou discard().
Un ensemble est une collection non ordonnée, non [Link](“taha")
modifiable* et non indexée.
Pas de duplication.
1 et True sont considérés une duplication et ne
peuvent pas figurer dans un set Pour éliminer le 1er item on utilise pop().
[Link]() -> élimine amine
pers = {“amine", “karime", “salma“}
[Link](“taha")
set3 = [Link](set2) #union
Pour ajouter plusieurs élements: set3=[Link](set2) #union
Pers1={“nada”,”jamel”} set4= [Link](set2) #intersection
[Link](pers1) [Link](set2)=> true si tt elt ds set1 existent ds
set2

Presented By PhD Amal TRIFA


Notions basiques
my_dict = {
1: "Hello",
Les variables: mappage -> Dict
(1, 2): "Hello Hi",
3: [1, 2, 3] }
len(my_dict)=>3
Un dictionnaire est une collection ordonnée,
modifiable et qui n'autorise pas les doublons. Accéder à une Valeur à travers key:
Composé de :key et value. my_dict[1]=>”Hello”
my_dict[1]= “amal”
Les clés (key) de dictionnaire doivent être
inchangeables, telles que les tuples, les chaînes,
les entiers, etc. Nous ne pouvons pas utiliser Ajouter un élément au dictionnaire en attribuant une
d'objets mutables (changeables) tels que les valeur à une nouvelle clé:
listes comme clés. my_dict[2]=2
Ou
Les valeurs :values: sont mutables. dict2={5:”rim”}
my_dict.update(dict2)

Presented By PhD Amal TRIFA


Notions basiques Un dict peut contenir un dict:

Les variables: mappage -> Dict myfamily = {


"child1" : {
"name" : "Emil",
"year" : 2004
for x in my_dict.values(): },
Try itprint(x)
Yourself » "child2" : {
"name" : "Tobias",
"year" : 2007
for x in my_dict.keys(): },
print(x) "child3" : {
"name" : "Linus",
"year" : 2011
for x, y in my_dict.items(): }
print(x, y)
myfamily["child2"]["name"]=>”Tobias”

Presented By PhD Amal TRIFA


Notions basiques
Les variables: mappage -> Dict

Créer un dict:
[Link]()=>[child1, child2, child3]
Try it Yourself »
[Link][‘child1’]=> {
"name" : "Emil", nombre_de_pneus = {}
"year" : 2004 nombre_de_pneus["voiture"] = 4
} nombre_de_pneus["vélo"] = 2

[Link]()=> supprime le dernier


item
[Link](“child1”)=> supprime cet item

Presented By PhD Amal TRIFA


Notions basiques
Les variables: mappage -> Dict
myfamily = {
"child1" : {
"name" : "Emil",
[Link]()=>[child1, child2, child3] "year" : 2004
Try it Yourself »
[Link][‘child1’]=> { },
"name" : "Emil", "child2" : {
"year" : 2004 "name" : "Tobias",
} "year" : 2007
},
[Link]()=> supprime le dernier "child3" : {
item "name" : "Linus",
[Link](“child1”)=> supprime cet item "year" : 2011
}

Presented By PhD Amal TRIFA

Vous aimerez peut-être aussi