[go: up one dir, main page]

0% ont trouvé ce document utile (0 vote)
14 vues93 pages

Cours Python

Le document présente un cours sur Python, couvrant des sujets tels que les types de données, les structures algorithmiques, la programmation orientée objet et la gestion des exceptions. Il inclut également des informations sur les entrées/sorties, la manipulation de fichiers et les caractéristiques du langage. Enfin, il aborde la syntaxe, les opérateurs, et les méthodes de formatage des chaînes de caractères.

Transféré par

mariemsebai913
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 PPS, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
14 vues93 pages

Cours Python

Le document présente un cours sur Python, couvrant des sujets tels que les types de données, les structures algorithmiques, la programmation orientée objet et la gestion des exceptions. Il inclut également des informations sur les entrées/sorties, la manipulation de fichiers et les caractéristiques du langage. Enfin, il aborde la syntaxe, les opérateurs, et les méthodes de formatage des chaînes de caractères.

Transféré par

mariemsebai913
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 PPS, PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 93

Cours : Python

Souheyl Mallat
Souheyl.mallat@gmail.com

A.U:2024-2025 1
Plan

Chapitre1:
-Présentation de Python & les types de données et opération
-structures algorithmiques : branchements conditionnels et boucles
-Les entrés/sorties
-Les chaines de caractère
Chapitre 2:
-Les structures de données: Les conteneurs:
-Organisation du code Python
Chapitre 3:Manipulation des fichiers
Chapitre 4: Programmation orienté objet Programmation Orienté objet
Chapitre 5::Gestion des exceptions

2
Plan

1. Présentation de Python
2. Identificateurs, types de bases et variables en Python
3. Opérateurs et expressions
4. Entrées/Sorties en Python
5. Les structures de contrôle
6. Les structures itératives
7. Les fonctions en Python
8. Les modules
9. Les tableaux et les listes en python
3
Algorithme vs Programme

4
Aperçu de ses caractéristiques…

Modulable
Python permet de séparer les programmes en modules qui peuvent
être réutilisés dans d'autres programmes en Python
Orienté Objet

Syntaxe aisée
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. De plus,
Python ne nécessite aucune déclaration de variable. Les variables sont
créées lors de leur première assignation.

5
Un petit historique…
 En 1989, Guido Van Rossum commença à travailler sur Python qui
n’était alors qu’un projet lui servant d’occupation durant les vacances de
Noël pendant lesquelles son bureau était fermé.

• Le but de Guido était d’inventer un successeur au langage


ABC, un langage d’apprentissage peu apprécié dans le milieu
académique.

• il fait appel directement à des utilisateurs Unix habitués au langage


C. il voulu que Python soit facilement utilisable dans d’autres
langages et environnement

6
Aperçu de ses caractéristiques…
Langage Script

Portable

Gratuit
Extensible

7
Domaines d’application
• Scripts d’administration systèmes
•Tous les développement lié à l’internet et en particulier au web
•Accès aux bases de donnée
• Réalisations d’interfaces graphiques utilisateurs.
• Utilisation pour la résolution de calculs scientifiques

8
Compilation et interprétation
Il existe deux techniques de traduction

Ce que nous écrirons … Affichage ligne


par ligne
Ce que l’on utilisera à chaque fois que
l’on voudra exécuter le code source :
traduction/exécution ligne par ligne.

9
Compilation et interprétation

traduit la totalité du texte Programme prêt à être exécuté


source en une fois

10
Comparaison de Python avec d’autres langages

11
Comparaison de Python avec d’autres langages

12
Compilation et interprétation
Remarque
Tout ceci peut paraître un peu compliqué, mais la bonne nouvelle est
que tout ceci est pris en charge automatiquement par
l'environnement Python.

Il vous suffira d'entrer vos commandes au clavier, de frapper <Enter>,


et Python se chargera de les compiler et de les interpréter pour vous.

13
Mise au point d'un programme.
Recherche des erreurs «debug»

3 types d’erreurs :
1. syntaxe :
2. sémantique :
3. d’exécution ou « Run-time error » :

14
Python propose les outils standards de
programmation(1/2)

15
Python mode opératoire 1

16
Python mode opératoire 1

17
Python mode opératoire 2

18
Python mode opératoire 2

19
Première opération

20
18
Affectation

21
Affectations multiples
Sous Python, on peut assigner une valeur à plusieurs variables
simultanément.
Exemple :
>>> x = y = 7
>>> x
>>> y

On peut aussi effectuer des affectations parallèles à l'aide d'un seul


opérateur :
>>> a, b = 4, 8.33
>>> a
>>> b
Opérations, expressions enchaînements

23
La présentation des programmes
Les commentaires

24
Les variables

25
Les variables (suite)
Mots réservés : On ne peut pas utiliser comme nom les 33 mots
suivants (qui sont réservés au langage Python)

26
Les variables (suite)

27
Les variables (suite)

28
Les variables (suite)
Tester ces lignes de code

29
Les variables (suite)
Tester ces lignes de code

30
Opérateurs de comparaison

31
Opérateurs de comparaison

32
Les expressions booléennes

33
Le type d’un objet
Objectifs: Etre capable de déterminer le type d’un objet en objet

Le langage Python est un langage typé dynamiquement : les variables ne sont pas typées à
l’avance, leur type est défini en fonction de la valeur qu’elles contiennent.
À tout objet Python est associé :
Un emplacement en mémoire dans lequel est rangé sa représentation binaire ;
Un type qui désigne sa nature.
Déterminer le type d’un objet
En Python, pour obtenir le type d’un objet ou déterminer s’il s’agit d’un type spécifique,
utilisez les fonctions intégrées type() et isinstance().
Il est possible de déterminer le type d’un objet grâce à deux fonctions différentes. Bien
qu’elles aient un fonctionnement similaire pour les types de base, elles diffèrent dans la
gestion des types personnalisés.
La fonction type()
34
retourne le type d’un objet.
Le type d’un objet

35
Le type flottant

36
Le type flottant

37
Le type complexe

38
La fonction isinstance()

Renvoie un booléen indiquant si un objet est une instance ou une sous-classe d’un autre
objet
Elle prend en premier argument la variable et en deuxième argument le type à tester et
retourne true si la variable est bien de ce type.
Exemple:
>>> isinstance(1, int)
>>> type(1) is int

isinstance() renvoie True même pour les instances de sous-classes qui héritent de la
classe spécifiée dans le deuxième argument.

39
Vérifier les chaînes de caractères
1- La méthode isalnum()
La méthode isalnum () renvoie True si tous les caractères de la chaîne sont alphanumériques. Sinon, il
renvoie False.

2- La méthode isalpha()
renvoie True si tous les caractères de la chaîne sont des alphabets. Sinon, il renvoie False.

3- La méthode isdigit()
renvoie True si tous les caractères de la chaîne sont des chiffres. Sinon, il renvoie False.

4- La méthode isnumeric()
renvoie True si tous les caractères de la chaîne sont des caractères numériques. Sinon, il renvoie False.

5- La méthode isdecimal()
renvoie True si tous les caractères de la chaîne sont des caractères décimaux. Sinon, il renvoie False

40
Exemple
string1 = "Hello123" string1 = "123"
string2 = "Hello123!" string2 = "Hello123"
string3 = "Hello" string3 = "Hello"

print(string1.isalnum()) # print(string1.isdigit()) #
print(string2.isalnum()) # print(string2.isdigit()) #
print(string3.isalnum()) # print(string3.isdigit()) #
string1 = "Hello"
string2 = "Hello123" string1 = "123"
string3 = "123" string2 = "²345"
string3 = "Hello"
print(string1.isalpha()) #
print(string2.isalpha()) # print(string1.isnumeric()) #
print(string3.isalpha()) # False print(string2.isnumeric()) #
string1 = "123" print(string3.isnumeric()) #
string2 = "12.3"
string3 = "Hello"
print(string1.isdecimal()) #
print(string2.isdecimal()) #
print(string3.isdecimal()) # 41
print("123".isdigit()) #
print("²³".isdigit()) #
print("10²".isdigit()) #
print("½".isdigit())

print("123".isnumeric()) print("²³".isnumeric())
# print("Ⅻ".isnumeric()) #
print("½".isnumeric())

42
Transtypage

43
chaines de caractères

Les différentes chaines de caractères et leur manipulation

44
chaines de caractères

45
chaines de caractères

46
chaines de caractères

47
chaines de caractères

48
chaines de caractères

49
chaines de caractères

50
chaines de caractères

51
chaines de caractères

52
Chapitre 2: Entrée/Sortie
et structures algorithmiques

53
Entrée/Sortie

On a généralement besoin de pouvoir interagir avec un


programme :
• pour lui fournir les données a traiter, par exemple au clavier :
entrées
• pour pouvoir connaitre le résultat d’exécution pour que le
programme puisse écrire ce qu’il attend de l’utilisateur,
par exemple, texte écrit a l’écran : sorties

54
Les entrées : fonction input()
 A l’exécution, l’ordinateur :
– interrompt l’exécution du programme
– affiche éventuellement un message a l’écran
– attend que l’utilisateur entre une donnée au clavier et appuie
Entrée.
C’est une saisie en mode texte

– valeur saisie vue comme une chaîne de caractères


– on peut ensuite changer le type

55
Les entrées

>>> texte = input()


123
>>> texte + 1 #
>>> val = int(texte)
>>> val + 1 #
124
>>> x = float(input("Entrez un nombre :"))
Entrez un nombre :
12.3
>>> x + 2
14.3

56
Les sorties : la fonction print()

Affiche la représentation textuelle de n’importe quel


nombre de valeurs fournies entre les parenthèses et
séparées par des virgules
A l’affichage, ces valeurs sont séparées par un espace
L’ensemble se termine par un retour a la ligne
– modifiable en utilisant sep et/ou end
 Possibilité d’insérer
– des sauts de ligne en utilisant \n et
– – des tabulations avec \t
57
Les sorties : la fonction print()

58
Les sorties : la fonction print()

La fonction print() affiche une chaîne de caractères .

Elle affiche l’argument qu’on lui passe entre parenthèses et un


retour à ligne
!!retour à ligne supplémentaire est ajouté par défaut.

Si on ne veut pas afficher ce retour à la ligne, on peut utiliser


l’argument par « mot-clé » end :

59
Les sorties : la fonction print()

Une autre manière de s’en rendre compte est d’utiliser deux fonctions
print() à la suite.

Dans le code suivant, le caractère « ; » sert à séparer plusieurs


instructions Python sur une même ligne :

60
Les sorties : la fonction print()
La fonction print() peut également afficher le contenu d’une variable
quel que soit son type. Par exemple, pour un entier :

Il est également possible d’afficher le contenu de plusieurs


variables (quel que soit leur type) en les séparant par des virgules :

61
Les sorties : la fonction print()
Python a écrit une phrase complète en remplaçant les variables x
et nom par leur contenu.
Pour afficher plusieurs éléments de texte sur une seule ligne,
nous avons utilisé le séparateur « , » entre les différents éléments.
Python a également ajouté un espace à chaque fois que l’on utilisait
le séparateur « , ».
On peut modifier ce comportement en passant à la fonction
print() l’argument par mot-clé sep :

62
Les sorties : la fonction print()
La méthode .format() permet une meilleure organisation de
l’affichage des variables. Si on reprend l’exemple précédent :

63
Les sorties : la fonction print()
Remarque Il est possible d’indiquer entre les accolades {} dans
quel ordre afficher les variables, avec 0 pour la variable à afficher
en premier, 1 pour la variable à afficher en second, etc.
(Attention, Python commence à compter à 0). Cela permet de
modifier l’ordre dans lequel sont affichées les variables.

64
Les sorties : la fonction print()
Imaginez maintenant que vous vouliez calculer, puis afficher, la
proportion de GC d’un génome :
La proportion de GC s’obtient comme la somme des bases
Guanine (G) et Cytosine (C) divisée par le nombre total de bases
(A, T, C, G) du génome considéré.
Si on a, par exemple, 4500 bases G et 2575 bases C, pour un
total de 14800 bases, vous pourriez procéder comme suit (notez
bien l’utilisation des parenthèses pour gérer les priorités des
opérateurs) :

65
Les sorties : la fonction print()
Le résultat obtenu présente trop de décimales (seize dans le cas
présent). Pour écrire le résultat plus lisiblement, vous pouvez spécifier
dans les accolades {} le format qui vous intéresse.
 Exemple :

 Détaillons le contenu des accolades de la première ligne ({:.2f}) :

66
Les sorties : la fonction print()
 Notez enfin que le formatage avec .xf (x étant un entier positif)
renvoie un résultat arrondi. Il est par ailleurs possible de combiner le
formatage (à droite des 2 points) ainsi que l’emplacement des
variables à substituer (à gauche des 2 points), par exemple :

 remarque : la même variable (prop_GC) à deux endroits


différents.

Vous pouvez aussi formater des entiers avec la lettre d :

67
Les sorties : la fonction print()
 On peut mettre plusieurs nombres dans une même chaîne de
caractères.

68
Les sorties : la fonction print()
 Il est possible de préciser sur combien de caractères vous voulez
qu’un résultat soit écrit et comment se fait l’alignement (à gauche, à
droite ou centré).
 Exemple : le caractère ; sert de séparateur entre les
instructions sur une même ligne :

69
Les sorties : la fonction print()
 Notez que:
> spécifie un alignement à droite,
< spécifie un alignement à gauche
ˆ spécifie un alignement centré.
 Il est également possible d’indiquer le caractère qui servira de
remplissage lors des alignements (l’espace est le caractère par défaut).

70
Les sorties : la fonction print()
 La méthode .format() agit sur la chaîne de caractères à laquelle elle
est attachée par un point et n’a rien à voir avec la fonction print().
Si on donne une chaîne de caractères suivie d’un .format() à la
fonction print(), Python évalue d’abord le formatage et c’est la chaîne
de caractères qui en résulte qui est affichée à l’écran. Exemple :
Tout comme dans l’instruction print(5*5), c’est d’abord la
multiplication (5*5) qui est évaluée, puis son résultat qui est affiché
à l’écran.

Python affiche le résultat de l’instruction "{:10.3f}".format(perc_GC) comme une


chaîne de caractères et la fonction type() nous le confirme.
71
Les sorties : la fonction print()
Ancienne méthode de formatage des chaînes de caractère

Dans d’anciens livres ou programmes Python, il se peut que vous


rencontriez l’écriture formatée avec le style suivant :

72
Les sorties : la fonction print()
La syntaxe est légèrement différente. Le symbole % est d’abord
appelé dans la chaîne de caractères (dans l’exemple ci dessus %d,
%d et %.2f) pour :
•Désigner l’endroit où sera placée la variable dans la chaîne de
caractères.
• Préciser le type de variable à formater, d pour un entier (i
fonctionne également) ou f pour un float.

73
Les sorties : la fonction print()
Note sur le vocabulaire et la syntaxe
 En Python, on peut considérer chaque variable comme un objet sur
lequel on peut appliquer des méthodes.

 Une méthode est simplement une fonction qui utilise et/ou agit sur
l’objet lui-même, les deux étant connectés par un point. La syntaxe
générale est de la forme objet.méthode().

74
Chapitre 3:
structures algorithmiques :
branchements conditionnels
et boucles

75
Branchement conditionnel « if »
 Objectif : effectuer des actions seulement si une certaine
condition est vérifiée
 Syntaxe en Python :
if condition :
instructions à exécuter
• Attention à l’indentation !
– Indique dans quel bloc se trouve une instruction.
– obligatoire en Python.

76
Branchement conditionnel « if »

77
78
Branchement conditionnel « if »: exemple

79
Succession de if avec elif

80
Avant la boucle « for »: génération
d’une séquence de valeurs

81
Boucle « for »

82
Exemple:

111
248
3 9 27
4 16 64
5 25 125
6 36 216
7 49 343
8 64 512
9 81 729
10 100 1000

83
Exercice
Écrivez un programme Python qui itère les nombres entiers de 1 à 50. Pour les multiples de trois, imprimez "Fizz" au lieu du
nombre et pour les multiples de cinq, imprimez "Buzz". Pour les nombres qui sont des multiples de trois et cinq, imprimez
"FizzBuzz".

Résultat attendu :
1
2
Fizz (3 multiple de 3)
4
Buzz (5 multiple de 5)
Fizz (6 multiple de 3)
7
8
Fizz (9 multiple de 3)
Buzz (10 multiple de 5)
11
Fizz (12 multiple de 3)
13
14
FizzBuzz (15 multiple de 3 et 5)
Boucle « for»: exemple

85
Boucle « while » (exemple)
Exemple: division de A par B
Un programme qui demande un entier A, puis un entier B jusqu’a ce
que celui-ci soit non-nul, puis qui calcule le quotient de A par B.

86
Boucle « while » (exemple)
Attention aux boucles infinies!
Si la condition de la boucle while ne devient jamais fausse, le
programme boucle indéfiniment:

Exemple 1:
n=5
while n<10 :
print("n vaut :", n)
print("Fin")

Exemple 2:
while True :
print("Je boucle.")
print("Fin" )« ») 87
88
Boucle « while » (exemple)
Le mot-cle break
• Permet de sortir immédiatement de la boucle while

i=1
while i<100:
if i % 2 == 0 :
print("*")
break
i=i+1
print("Incrémentation de i")
print("Fin") 89
Boucle « while » (exemple)
Le mot-clé : continue
 Permet de remonter immédiatement au début de la boucle
while en ignorant la suite des instructions dans la boucle.
Exemple :
for i in range(4):
print("debut iteration",
i)
print("bonjour")
if i < 2:
continue
print("fin iteration", i)
print("après la boucle“) 90
Break et continue

Inconvénients:

 Code plus difficile a lire/analyser si plusieurs niveaux

d'imbrications et/ou longues instructions dans le while

 N'a pas toujours d‘équivalent dans les autres langages de

programmation

On essaiera tant que possible de se passer de break et

continue.
91
Boucle « while » (exemple)
Boucles imbriquées

• Une instruction d’une boucle while peut être une boucle while
Ex : résultat produit par ce programme ?

1, 1
1, 2
2, 1
2, 2
3, 1
3, 2

92
Boucle « while »
Boucles imbriquées

On veut écrire un programme qui affiche un ≪ carre ≫ de n x n


fois le caractère ‘*’. L’utilisateur choisit le cote n du carre.
Exemple de résultat :
Entrez la valeur de n : 5
*****
*****
*****
*****
*****
93

Vous aimerez peut-être aussi