Introduction à la Programmation Python
Introduction à la Programmation Python
INTRODUCTION À PYTHON
L3 IRT (SCRIPTS PYTHON)
Addition Division
>>> 8+5 >>> 100/4
13 25.0
Soustraction Modulo
>>> 1-10 >>> 10%4
-9 2
Multiplication Exposant
>>> 2*10 >>> 2**3
20 8
CONCEPTS DE BASE
QUELQUES OPÉRATIONS DEPUIS UN TERMINAL
>>> A=15
>>> B=15
A et B pointent vers la même adresse mémoire et référence donc le même objet. La fonction id nous nous retourne l’adresse
mémoire
>>> print(id(A))
1475702384
>>> print(id(B))
1475702384
CONCEPTS DE BASE
LES CHAINES DE CARACTÈRES
Une chaine de caractères est un ensemble de caractères entre de simples côtes ou entre doubles côtes.
>>> 'Bonjour'
>>>"c’est simple"
>>>'c\’est simple'
Concaténation : On utilise l’opérateur +
>>> "Ecole " + "de Télécommunication"
'Ecole de Télécommunication‘
Répétition : Il est possible de multiplier une chaine de caractère à l’aide de l’opérateur *
>>> "Etudiant"*3
'EtudiantEtudiantEtudiant'
CONCEPTS DE BASE
LES CHAINES DE CARACTÈRES : MISE EN FORME (FORMATAGE)
❑ Les f-string : On utilise le caractère f ainsi que les accolades
>>> nom = 'Adjokè'
>>> f"Bonjour {nom}"
'Bonjour Adjokè'
>>>a = 5
>>>b = 10
>>>f"Le produit de {a} et de {b} est : {a * b}"
>>> age = 26
>>> nom = "Moussa"
>>> « Je suis %s et j'ai %d ans." %(nom, age)
>>> phrase
"Je suis Moussa et j'ai 26 ans"
CONCEPTS DE BASE
LES ENTRÉES / SORTIES
Les entrées : input()
La fonction input permet d’afficher le prompt pour que l’utilisateur saisisse une donnée.
La fonctionne input retourne une chaine de caractères.
Pour obtenir des nombres en sortie, il faudra lui associer par exemple la fonction float() ou int()
strip : Enlever les espaces ou les occurrences d’un caractère dans ' Bonjour'.strip()
une chaine 'Bonjour'
CONCEPTS DE BASE
LES CHAINES DE CARACTÈRES : MÉTHODES
index permet de rechercher l’indice mais lève une exception ‘xyabcxyabcxy’.index(‘xy’)
quand la chaine n’existe pas 0
in vérifier si une chaine est dans une chaine ‘xy’ in ‘xyabcxyabcxy’
True
Exemple :
Voir page suivante
CONCEPTS DE BASE
LES STRUCTURES DE CONTRÔLE
Exemple :
age = 20
langage = "Python"
Exemples : Exemple :
for n in [1,2,3] : compteur = 1
print(n) while compteur <= 10 :
print("Compteur = ", compteur)
for c in "abcd": compteur += 1
print(c)
CONCEPTS DE BASE
LES STRUCTURES DE CONTRÔLE : Structures itératives
Nota : Il n’existe pas de boucle do … while en python. On peut juste la simuler comme suit :
while True:
# Code à exécuter à chaque itération
if condition:
break
CONCEPTS DE BASE
LES MODULES
Un module est un fichier Python qui contient des fonctions qu’on peut manipuler (appeler).
Pour utiliser un module ou les fonctions qu’elle contient, il faut l’importer.
Syntaxe :
import nom_du_module
Exemple : import random
Pour utiliser une fonction contenue dans un module qu’on a importé, il faut la préfixée du nom du
module.
Exemple : [Link](0,5) #va retourner un nombre aléatoire compris entre 0 et 5 exclut
Recherche à faire : chercher à quoi servent les fonction uniform et randrange
CONCEPTS DE BASE
LES MODULES
Les Modules os et pathlib
Le module os permet d’interagir avec le système d'exploitation sur lequel le programme Python
s'exécute, en mettant à disposition des méthodes pour accéder à des fonctionnalités spécifiques
au système d'exploitation, telles que la gestion des fichiers, des répertoires, des processus, des
variables d'environnement, des chemins de fichiers, etc.
Le module pathlib est un module intégré à partir de la version Python 3.4. Il fournit une
interface orientée objet pour manipuler les chemins de fichiers et les systèmes de fichiers. Il
simplifie la manipulation des chemins de fichiers en offrant une syntaxe plus intuitive et
expressive que les méthodes traditionnelles basées sur des chaînes de caractères.
CONCEPTS DE BASE
LES MODULES
Exemple : module os
import os
chemin = "/users/dossier_etudiants"
sous_dossier = [Link](chemin, "nouveau_dossier")
[Link](sous_dossier) #on peut utiliser mkdir() mais c’est limité
#une variante plus correcte qui ne crée le dossier que si ça n’existe pas
if not [Link](sous_dossier):
[Link](sous_dossier)
#ou encore
[Link](sous_dossier, exist_ok=True)
CONCEPTS DE BASE
LES MODULES
Exemple : module pathlib
import pathlib
dossier_parent = [Link]("/chemin/dossier_parent")
nom_sous_dossier = "nouveau_sous_dossier"
# Chemin complet du sous-dossier
chemin_sous_dossier = dossier_parent / nom_sous_dossier
if chemin_sous_dossier.exists():
print("Le sous-dossier existe déjà.")
else:
chemin_sous_dossier.mkdir()
print("Le sous-dossier a été créé avec succès.")
CONCEPTS DE BASE
LES MODULES
Au lieu d’importer un module, on peut aussi importer directement une fonction depuis un module.
La syntaxe est la suivante :
De cette façon on n’a plus besoin de précéder le nom de la fonction par celui du module.
Exemple :
from random import randint
nombre = randint(3,10)
Une liste se définit comme une collection d'éléments séparés par des virgules, l'ensemble
étant enfermé dans des crochets.
Une liste peut stocker n’importe quel type d’objet. En réalité, elle ne stocke pas les objets mais
plutôt les références vers les objets.
Création d’une liste
Liste = [1, 2, 3] #pour une liste vide, on peut faire Liste=[ ] ou encore Liste=list()
CONCEPTS DE BASE
LES SÉQUENCES : LISTES
Afficher un item d'une liste Agrandir une liste par une liste : extend
>>>a=5 >>> y = [1,2,3,’c’]
>>> liste = [a,’ananas’,3.2] >>> [Link](y) # On complète liste par y
>>> liste[0] >>> liste
5 [5, ’ananas’,’b’,3.2,’ok’,1,2,3,’c’]
>>> liste[-1] # dernière élément
3.2 modifier les valeurs
>>> liste[0]=6
>>> liste
Ajouter des valeurs à la liste [6, ’ananas’,’b’,3.2,’ok’1,2,3,’c’]
[Link]("ok") # On ajoute à la fin >>> liste[3]=liste[3]+10
>>> liste >>>liste
[5, ’ananas’,3.2,’ok’] [6, ’ananas’,’b’,13.2,’ok’,1,2,3,’c’]
>>> [Link](2, ‘b’) # On insère ‘b' à l'indice 2 >>>liste[1:3]=[5,4]
[5, ’ananas’,’b’,3.2,’ok’] >>>liste
[6, 5,4,13.2,’ok’,1,2,3,’c’]
CONCEPTS DE BASE
LES SÉQUENCES : LISTES
Supprimer les éléments d’une liste Trouver l'index d'une valeur
>>> del liste[3] >>> liste=[6,1,2,3,’c’]
>>> liste >>>[Link](‘c’)
[6, 5,4,’ok’,1,2,3,’c’] 4
>>>liste[1:3]=[] >>> liste[:] # Affiche toutes les occurrences
>>>liste
[6,’ok’,1,2,3,’c’] Copier une liste qui sera indépendante
>>> [Link](‘ok’) >>> L = [10,20,40]
>>> liste >>> s = L[:]
>>> s[0] = 5
[6,1,2,3,’c’]
>>> s
>>> liste[:] = [] # vide la liste
[5,20,40]
Trier une liste s=[10,12,1,5,17] >>> L
>>>[Link]() [10,20,40]
>>>s
[1,5,10,12,17]
CONCEPTS DE BASE
LES SÉQUENCES : LISTES
Pour savoir si un élément est dans une liste Transformer une liste en Chaine
>>> liste = [10,20,40] On utilise la méthode join.
>>> 20 in liste
True >>>"-".join(['ab', 'cd', 'ef', 'gh'])
>>> 6 in liste 'ab-cd-ef-gh'
False >>>"".join(['ab', 'cd', 'ef', 'gh'])
'abcdefgh'
La fonction range : génère une liste composée
d'une simple suite arithmétique. Transformer une chaine en liste
>>>L= list(range(10)) On utilise la méthode split
>>> L
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # affiche le contenu de L >>> 'ab-cd-ef-gh'.split(‘-')
[‘ab’ , ‘cd’, ’ef’, ‘gh’]
CONCEPTS DE BASE
LES LISTES
Pour savoir si un élément est dans une liste Pour récupérer l'index, on peut utiliser la
>>> liste = [10,20,40] fonction enumerate.
>>> 20 in liste >>> for val in enumerate(liste):
True ... print val
>>> 6 in liste (0, 5)
False (2, ‘yes')
(3,10)
Boucler sur une liste
>>> liste = [5,"yes",10]
>>> for lettre in liste:
... print (lettre)
5
yes
10
CONCEPTS DE BASE
LES SÉQUENCES : TUPLE
Les tuples sont des listes immuables (qu'on ne peut modifier). Un tuple est écrit comme une
liste de valeurs, séparées par des virgules, encadrée de parenthèses.
Le tuple est toujours affiché avec des parenthèses. Un tuple à un seul élément doit être terminé
par une virgule ; un tuple sans élément s’écrit avec des parenthèses vides.
On peut accéder aux éléments d’un tuple par un index positionnel.
Création d’un tuple
>>> montuple = () #pour un tuple vide, on peut faire montuple=tuple()
>>>montuple
>>>()
CONCEPTS DE BASE
LES SÉQUENCES : TUPLE
>>> tup = ('a', 'b', 'c', 'd', 'e') # ou encore tup = 'a', 'b', 'c', 'd', 'e'
>>> print(tup)
('a', 'b', 'c', 'd', ‘e’)
>>> tup = (9, ) # ou encore tup = 9, Nota : Il faut remarquer la présence de la virgule
>>> tup
>>>(9,)
CONCEPTS DE BASE
LES SÉQUENCES : TUPLE
Opérations sur les tuples
tup = ('a', 'b', 'c', 'd', 'e')
>>> tup[1:3] = ('x', 'y’) ==> ***** erreur ! Car immuable *****
tup = ('Andre',) + tup[1:] ==> ***** Marche parce que nouveau tuple *****
>>> tup
('Andre', 'b', 'c', 'd', 'e’)
Nota : Pour s’en convaincre, il suffit de vérifier le id(tup) avant et après la modification pour voir
qu’il s’agit de deux tuples différents. Par contre en faisant la même chose avec les listes, l’id ne
change pas.
CONCEPTS DE BASE
LES SET (OU ENSEMBLE)
Les ensembles sont des collections mutables (modifiables), non ordonnées d’objets uniques et
immutables (non modifiables). Les ensembles prennent en charge les opérations mathématiques
qui leur sont propres telles que : union, intersection et différence.
Les ensembles ne sont pas vraiment des séquences (ils ne sont pas ordonnés), mais ils prennent
en charge l’itération. On ne peut accéder aux éléments d’un ensemble que par itération (utilisation de
l’opérateur in) et non pat un index positionnel.
Création d’un ensemble
>>> monens = set() #pour un un ensemble vide. monens = {} ne marche pas
>>> monens = {1,3, "msg", 8,15}
>>> [Link]("merci")
CONCEPTS DE BASE
LES SET (OU ENSEMBLE)
Opérations sur les ensembles
Opération Opérateur Fonction Commentaire
Appartenance in Pour voir si un élément appartient à un ensemble
Différence - difference() Ensemble formé des éléments du premier
ensemble qui ne sont pas le second
Union | union() Union de deux ensembles
Intersection & intersection() Ensemble des éléments commun à deux ensembles
Inclusion <= issubset() Inclusion du 1er ensemble dans le 2nd
Inclusion >= superset() Inclusion du 2nd ensemble dans le 1er
Différence ^ symmetric_difference Ensemble d’éléments appartenant exclusivement
symétrique au 1er ou au 2nd mais pas aux deux.
Nota : Il y a aussi les opérateurs < , > , |= ainsi que quelques autres fonctions : copy(), add(), remove()
CONCEPTS DE BASE
LES DICT (OU DICTIONNAIRE)
Un dictionnaire est un objet mutable qui contient les données sous la forme de paires clé :valeur.
Comme les listes, les dictionnaires sont des objets pouvant en contenir d’autres. Cependant, au
lieu d’héberger des informations dans un ordre précis, ils associent chaque objet contenu à une
clé. Habituellement la clé est une chaîne de caractères, mais ce n’est pas une contrainte. On peut
des clés qui sont des entiers, des réels, des chaînes de caractères, et même des tuples.
Propriétés des dictionnaires :
— Non ordonné : Pas de possibilité d’accès via index. Les dictionnaires ne sont donc pas des
séquences.
— Modifiable : on peut modifier, ajouter ou supprimer des éléments
— Clé unique : on ne peut pas avoir deux éléments avec la même clé.
Création d’un dictionnaire : On peut créer un dictionnaire vide et y ajouter par la suite des
éléments, comme on peut créer directement un dictionnaire en l’initialisant avec des éléments.
CONCEPTS DE BASE
LES DICT (OU DICTIONNAIRE)
Exemple :
>>>frToEng = {}
>>>frToEng
{}
>>>voiture = {"marque": "Ford", "modèle": "Mustang", "année": 1964}
>>>voiture
{'marque': 'Ford', 'modèle': 'Mustang', 'année': 1964}
CONCEPTS DE BASE
LES DICT (OU DICTIONNAIRE)
Pour accéder à un champ d’un dictionnaire on procède comme pour les index, sauf que ici il n’y a pas
d’indice mais de clé qui est le plus souvent une chaine de caractères.
Pour ajouter par exemple une paire clé:valeur, on peut procéder comme suit :
>>> nom_dictionnaire["nouvelle_clé"]= "Nouvelle valeur"
Nota : La valeur associée à une clé peut être n’importe quoi.
Exemple :
>>> voiture["couleurs"] = ["rouge", "vert", "bleu"] #ajout d’une paire clé:valeur à voiture
>>> voiture
{'marque': 'Ford', 'modèle': 'Mustang', 'année': 1964, 'couleurs': ['rouge', 'vert', 'bleu']}
CONCEPTS DE BASE
LES DICT (OU DICTIONNAIRE)
Exemple :
>>> frToEng = {}
>>> frToEng['ordinateur'] = 'computer'
>>> frToEng['souris'] ='mouse'
>>> frToEng['keyboard'] ='clavier’
>>> frToEng
{'ordinateur': 'computer', 'souris': 'mouse', 'keyboard': 'clavier’}
>>> frToEng['souris']
'mouse'
CONCEPTS DE BASE
LES DICT (OU DICTIONNAIRE)
Opérations sur les dictionnaires :
En dehors de l’utilisation des clés comme dans les tableaux pour accéder aux valeurs du
dictionnaire, on peut utiliser les fonctions suivantes qu’on connait déjà pour les avoir vu :
❑len, del.
De même pour les test d’appartenance, on peut utiliser l’opérateur in
On peut aussi invoquer certaines méthodes sur les dictionnaires, à savoir :
❑keys() pour lister les clés d’un dictionnaire
>>> [Link]()
dict_keys(['marque', 'modèle', 'année', 'couleurs'])
CONCEPTS DE BASE
LES DICT (OU DICTIONNAIRE)
Opérations sur les dictionnaires :
❑values() pour lister les valeurs associées aux différentes clés d’un dictionnaire
>>> [Link]()
dict_values(['Ford', 'Mustang', 1964, ['rouge', 'vert', 'bleu’]])
❑Items pour lister tous les couples clé:valeur du dictionnaire sous forme de liste de tuples
(clé,valeur)
>>> [Link]()
dict_items([('marque', 'Ford'), ('modèle', 'Mustang'), ('année', 1964), ('couleurs', ['rouge', 'vert',
'bleu'])])
CONCEPTS DE BASE
LES DICT (OU DICTIONNAIRE)
Opérations sur les dictionnaires :
❑copy() pour faire une vraie copie d’un dictionnaire dans un nouveau
Nota : La simple affectation d’un dictionnaire à un autre ne fait que transférer la référence d’un
objet, d’une variable à une autre. Donc, c’est comme un alias.
setdefault() Renvoie la valeur de la clé spécifiée. Si la clé n’existe pas : insérez la clé, avec la valeur spécifiée
IMPORTER UN MODULE
Pour utiliser certaines fonctions prédéfinies de Python, il faut importer soit la bibliothèque qui la
contient, soit importer directement la fonction depuis la bibliothèque qui la contient.
Pour importer un module, on utilise le mot clé import
>>>import nom_bibliothèque
CONCEPTS DE BASE
LES MODULES ET LES FONCTIONS : LES MODULES
Exemples :
>>> import os
>>> [Link]('cls') #Pour effacer l’écran du terminal sous windows
Pour importer plusieurs modules à la fois, on les sépare par des virgules
>>>import module1, module2, Module3
import math as mt
print([Link](1))
print([Link](1) )
print(mt.log10(10))
CONCEPTS DE BASE
LES MODULES ET LES FONCTIONS : LES MODULES
PACKAGE ou LIBRAIRIE : Regroupement de plusieurs modules liés entre eux, dans un
dossier et/ou des sous dossiers, pour fournir des fonctionnalités données et organiser les codes
des modules en sous-dossiers et créer une hiérarchies de modules.
Pour créer un package :
❖ on crée un dossier portant le nom de votre package
❖ à l’intérieur de ce dossier, on ajoute un fichier nommé __init__.py; nécessaire pour que
Python reconnaisse ce dossier comme un package
Pour importer un module d’un package :
❖ on utilise la syntaxe suivante : import nom_package.nom_module
Le vichier __init__.py peut être vide comme on peut y importer des modules spécifiques, définir
des variables globales ou exécuter des actions d’initialisation.
CONCEPTS DE BASE
LES MODULES ET LES FONCTIONS : LES FONCTIONS
Une fonction est un bloc de code défini avec un nom et destinée à réaliser un traitement spécifique.
Les fonctions permettent la modularité du code.
Comme presque tous les langages de programmation, Python intègre des fonctions prédéfinies,
mais offre aussi la possibilité à l’utilisateur de créer ses propres fonctions.
Syntaxe de déclaration d’une fonction : On utilise le mot clé def
Nota :
def nom_fonction([liste_parametres]) : ✔ Remarquer la présence de : ainsi que l’indentation du
corps de la fonction
#corps de la fonction ✔ Les paramètres sont optionnels. Donc, la fonction peut ne
:::::: pas en avoir
✔ La fonction peut retourner, comme peut ne pas retourner
:::::: de valeur. Quand elle en retourne, elle peut en retourner
#[return expression] même plusieurs séparées par des virgules.
CONCEPTS DE BASE
LES MODULES ET LES FONCTIONS : LES FONCTIONS
Exemples:
Pour appeler ces fonctions, on met seulement leurs noms avec
def salutation():
les paramètres au besoin.
print("Bonjour à la M1 IRT") salutation()
salut("Moussa", 17)
def salut(nom, age):
print("Bonjour ",nom) Et le résultat sera respectivement :
print("Vous avez ",age," ans.")
Bonjour à la M1 IRT
Bonjour Moussa
Vous avez 17 ans
CONCEPTS DE BASE
LES MODULES ET LES FONCTIONS : LES FONCTIONS
Valeur de retour : Pour appeler pour appeler cette fonction, on peut par exemple
faire :
def calcul(a, b):
add = a + b
sous=a-b x,y,z = calcul(10,8)
print("somme =", x, ", différence =", y, ", produit =", z)
mult=a*b
# renvoi les 3 résultats Ce qui va donner comme résultat :
return add,sous,mult
somme = 18 , différence = 2 , produit = 80
Mot clé : pass
Permet de définir un bloc syntaxiquement vide (donc qui ne fait rien).
def addition(num1, num2):
pass
CONCEPTS DE BASE
LES MODULES ET LES FONCTIONS : LES FONCTIONS
Docstrings :
Un docstring est un commentaire mais qui en réalité est une chaine de documentation d’une
fonction lorsqu’on en fait usage dans la fonction. Ça permet d’expliquer le fonctionnement de la
fonction et d’en facilité la maintenance éventuelle.
Il est déclaré en utilisant des guillemets simples triples (''') ou des guillemets doubles triples (""")
au début et à la fin de ce qu’on veut mettre comme documentation.
Pour accéder au docstring, on utilise l’attribut doc (__doc__).
def factorielle(x):
"""Calcul de x!"""
pass
print(factorielle.__doc__) #va donner comme résultat : Calcul de x!
CONCEPTS DE BASE
LES MODULES ET LES FONCTIONS : LES FONCTIONS
Arguments d’une fonction :
Une fonction peut avoir ou peut ne pas avoir d’arguments.
Lorsqu’elle en a, lors de l’appel, ces arguments sont fournis dans leur ordre positionnel par défaut,
de la gauche vers la droite. On dira que les arguments sont positionnels.
Mais lors de l’appel d’une fonction, on peut ne pas passer tous les arguments. On peut même
sous certaines conditions, les passer dans le désordre. Ci-dessous, quelques précisions sur cet
état de choses. On parlera de :
— Argument avec valeur par défaut
— Arguments avec étiquettes OU Arguments nommés
— Nombre variable d’arguments
CONCEPTS DE BASE
LES MODULES ET LES FONCTIONS : LES FONCTIONS
— Argument avec valeur par défaut
Lors de la définition d’une fonction, on peut donner des valeurs par défaut à tous ou certains de
ces arguments. Mais dans le cas où tous les arguments n’ont pas de valeurs par défaut, on liste
en premier les arguments sans valeur par défaut et on termine avec ceux ayant de valeurs par
défaut.
def salutation(civilite, nom='MOUSSA', prenom='Jacques'):
print(f"Bonjour {civilite} {nom} {prenom}, comment allez-vous ?")
#print("Agréable journée à vous") Le code ci-contre va afficher pour les différents appels :
def loto(combinaison=(12,6,5,17,42),**numeros):
if len(numeros)==5 and combinaison == (numeros['n1'],numeros['n2'],numeros['n3'],numeros['n4'],numeros['n5']):
print("Vous avez gagné votre mise fois", 5**5)
elif len(numeros)>=3 and combinaison[:3] == (numeros['n1'],numeros['n2'],numeros['n3']):
print("Vous avez gagné votre mise fois", 3**5)
elif len(numeros)>=1 and combinaison[0] == (numeros['n1']):
print("Vous ne gagnez pas mais vous reprenez votre mise !")
else: Cet exemple donne comme résultat après les appels :
print("Dommage, vous avez perdu. Du courage !!!")
Pour lever toute ambigüité, on doit utiliser le mot clé global dans la fonction pour imposer à la
fonction de considérer la variable comme globale et non locale.
CONCEPTS DE BASE
LES MODULES ET LES FONCTIONS
Variable local et variable globale: Exemples
def fon2(): def fon3:
def fon(): global x
print(x) x=3
print(x) x,y=3,10
x=10 print(x,y)
fon() x=10
fon2() x,y = 10, 5
print(x) fon3()
L’exécution donne : print(x,y)
L’exécution donne : L’exécution donne :
10 #variable globale
3 #variable locale ds fonc2 10 10 # x globale, y local
#La variable globale est 10 #variable globale dehors 10 5 # x et y globales
#vu dans la fonction #variable globale non vue #x globale vue dans fon3
#ds la fonction car masquée #y globale non vue dans fon3
#par la variable locale #mais x,y globales vues dehors
CONCEPTS DE BASE
LES MODULES ET LES FONCTIONS
Les Fonctions: Fonction lambda
Il arrive parfois qu’on ait besoin de manipuler des fonctions sans nom ou encore des fonctions
anonymes. En python, on parle de fonction lambda.
Les fonctions lambda sont pratiques pour des tâches simples, des opérations sur des collections
de données et des expressions courtes.
Syntaxe :
nom_de_variable = lambda liste_arguments : expression
Exemples :
som = lambda x,y:return x+y
est_pair = lambda x: x % 2 == 0
CONCEPTS DE BASE
LES MODULES ET LES FONCTIONS
Les Fonctions: Fonction lambda
Appel : pour l’appel de la fonction, il suffit de passer, au besoin, les paramètres à la variable à
laquelle on a affecté la fonction.
print (som(17,9)) # Ce qui va afficher : 26
print(est_pair(73)) # Va afficher : False
Nota : on peut aussi appeler directement une fonction lambda en même temps qu’on la crée.
Nous allons voir quelques exemples d’application avec les fonctions map et filter
CONCEPTS DE BASE
LES MODULES ET LES FONCTIONS
La Fonction: map
La fonction map() est utilisée pour appliquer une ou plusieurs fonctionnalités à chaque élément
présent dans la séquence donnée et générer une nouvelle série avec la modification résultant de
l’application de cette fonctionnalité.
Pour cette raison, on utilise très souvent une fonction lambda pour définir cette fonctionnalité.
Syntaxe d’utilisation : map(function,sequence)
Exemple 1 :
list1 = [2, 3, 4, 8, 9]
list2 = list(map(lambda x: x**3, list1)) #equivalent à list2=list([x*2 for x in list1])
print(list2) #ce qui va donner [8, 27, 64, 512, 729]
CONCEPTS DE BASE
LES MODULES ET LES FONCTIONS
La Fonction: filter
La fonction filter() est utilisée pour extraire d’une séquence, les valeurs répondant à un critère.
Donc, comme son l’indique, cette fonction permet de filtrer des données.
Syntaxe d’utilisation : filter(function,sequence)
Exemple 1 :
list1 = [2, 3, 4, 8, 9]
list2 = list(filter(lambda x: x%2==0, list1))
print(list2) #va afficher [2, 4, 8] qui est la liste des éléments pairs de list1
CONCEPTS DE BASE
LES MODULES ET LES FONCTIONS
Docstrings :
Le docstring est une chaine de documentation écrite par un programmeur dans le code source
d’une fonction pour décrire (faire savoir aux autres) ce que fait la fonction..
Il est déclaré en utilisant des guillemets simples triples (''') ou des guillemets doubles triples (""").
def factorielle(x):
"""Calcul de x!"""
pass #le mot clé pass permet d’écrire une instruction vide (qui ne fait rien)
Accès à la docstring
print(factorielle.__doc__) #Va afficher : Calcul de x!
TRAITEMENTS SUR LES FICHIERS
LES FICHIERS
La Fonction: open
La fonction de base pour travailler sur les fichiers en Python est la fonction open().
L’appel à open() s’assure de l’existence du fichier à ouvrir (le crée dans certains cas), crée un objet
correspondant au fichier, s’il arrive à l’ouvrir, met la position du curseur à 0 (début du fichier).
La lecture, l’écriture, la fermeture doivent être effectuées séparément et explicitement grâce à
l’utilisation de méthodes spécifiques de traitement de fichiers en fonction du type de fichier traité.
Syntaxe : f = open (nom_fichier, mode)
o nom=fichier est une chaine de caractères représentant le chemin vers le fichier
o mode est une chaine de caractères représentant le mode d’ouverture (r,w,a,x). Elle peut inclure la
lettre b en plus, dans le cas de fichier binaire (rb, wb, ab, xb).
o Il peut y avoir d’autres options comme paramètre de la fonction open. Par exemple encoding =
'utf-8'
TRAITEMENTS SUR LES FICHIERS
LES FICHIERS TEXTE OU ASCII
La méthode: close
Tout fichier ouvert doit être fermé.
Pour fermer un fichier ouvert par la fonction open(), on invoque la méthode close() sur l’objet
associé à ce fichier après son ouverture.
Nota : On peut lire juste quelques caractères (n) à chaque fois en faisant : [Link](n)
TRAITEMENTS SUR LES FICHIERS
LES FICHIERS TEXTE OU ASCII
Lecture du contenu d’un fichier
La méthode readline() : permet de lire une ligne du fichier et positionner le curseur en début de la
ligne suivante si elle existe.
f = open("D:\\mondossier\\[Link]", "r")
contenu = [Link]()
print(contenu)
[Link]()
Nota : Pour lire tout le contenu du fichier avec cette méthode, il faut mettre en place une boucle.
TRAITEMENTS SUR LES FICHIERS
LES FICHIERS TEXTE OU ASCII
Lecture du contenu d’un fichier
On peut aussi faire la lecture ligne par ligne de manière plus simple
f= open("[Link]", "r")
for x in f:
print(x)
[Link]()
TRAITEMENTS SUR LES FICHIERS
LES FICHIERS TEXTE OU ASCII
Lecture du contenu d’un fichier
La méthode readlines() : La méthode readlines() est utilisée pour lire toutes les lignes d’un fichier
texte et les stocker sous forme d’une liste de chaînes de caractères. Chaque élément de la liste
correspond à une ligne du fichier.
nom_fichier = "[Link]" #[Link]
f = open(nom_fichier, "r", encoding='utf-8') une ligne
contenu = [Link]() une autre ligne
print(contenu) une troisième
[Link]() une quatrième ligne
Ce code va afficher : ['une ligne\n', 'une autre ligne\n', 'une troisième \n', 'une quatrième ligne']
TRAITEMENTS SUR LES FICHIERS
LES FICHIERS TEXTE OU ASCII
Lecture du contenu d’un fichier
On peut aussi faire la lecture ligne par ligne de manière plus simple
f= open("[Link]", "r")
for x in f:
print(x)
[Link]()
TRAITEMENTS SUR LES FICHIERS
LES FICHIERS TEXTE OU ASCII
La suite vient