0% ont trouvé ce document utile (0 vote)
32 vues154 pages

Chapitre3 Programmer en Python

Transféré par

flexdesign121
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)
32 vues154 pages

Chapitre3 Programmer en Python

Transféré par

flexdesign121
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

Module 2 : Acquérir les bases

de l’algorithmique

Chapitre 3 : Programmer En
Python
Réalisé par :
Mme ZROURI Amira
Plan du chapitre
1. Transformer une suite d’étapes algorithmiques en une suite
d’instructions Python.
2. Manipuler les données.
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Langage de programmation
• Le langage machine est la suite de bits qui est interprétée par le processeur d'un ordinateur
exécutant un programme informatique.
• Le langage machine est peu compréhensible par un humain d’où le besoin au recours à un
langage de programmation de haut niveau.
• Le langage de programmation est un outil à l’aide duquel le programmeur écrit des programmes
exécutables sur un ordinateur.
Exemples de langages de programmation:
FORTRAN, COBOL, Pascal, Ada, C, Java, Python

Un code source ou programme écrit en un langage de programmation de haut niveau qui est ensuite
traduit vers un langage machine.
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Langage de programmation
Il existe 2 techniques pour effectuer la traduction en langage machine :

Langage interprété :

Un interpréteur est un programme informatique qui traite le code source d’un


projet logiciel pendant son fonctionnement – c’est-à-dire pendant son exécution.
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Langage de programmation
Langage compilé:

Un compilateur est un programme informatique qui traduit l’ensemble du code


source d’un projet logiciel en code machine avant son exécution.
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Langage de programmation

Il est important de pouvoir évaluer des langages de programmation afin de pouvoir les choisir de
manière appropriée et de les améliorer. Cinq critères d’évaluation sont généralement utilisés :
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Critères d’évaluation
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Critères d’évaluation
La simplicité :
• S’il y a beaucoup de composantes de base (telles que les mots clés), il est difficile de toutes les
connaître.
• S’il existe plusieurs façons d’exprimer une commande, il est aussi difficile de toutes les connaître.
• Trop de simplicité cause la difficulté de lecture.
• Il faut alors trouver un compromis entre la simplicité et la facilité d'écriture.
L’orthogonalité :
• L'orthogonalité est la propriété qui signifie "Changer A ne change pas B« .
• Dans les langages de programmation, cela signifie que lorsque vous exécutez une instruction, seule
cette instruction se produit.
• De plus, la signification d’un élément du langage doit être indépendante du contexte dans lequel il
apparait.
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Critères d’évaluation
Instructions de contrôle :
• Pour la lisibilité d’un langage de programmation, il est important d’avoir des structures de
contrôle adéquates (structures itératives, structures conditionnelles, etc.).
• Par exemple, l’un des plus grands problèmes du premier BASIC est que sa seule instruction
de contrôle était le « goto ».

Types et structures de données :


• La présence de moyens appropriés pour définir des types et des structures de données dans
un langage peut améliorer considérablement la lisibilité.
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Critères d’évaluation
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Critères d’évaluation
La simplicité et l'orthogonalité:
• Si un langage a une grande variation de constructeurs syntaxiques, il est fort possible que certains
programmeurs ne les connaissent pas.
• De même, il se peut que le programmeur ne connaisse certains constructeurs que superficiellement et
les utilise de manière erronée.
L'abstraction:
• L’abstraction est la possibilité de définir des structures ou des opérations compliquées tout en cachant
leurs détails (abstraction de processus et abstraction des données).
Abstraction de processus:
• Quand un processus est abstrait dans un sous-programme il n’est pas Nécessaire de répéter son code
à chaque fois qu’il est utilisé. Un simple appel de la procédure/fonction est suffisant.
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Critères d’évaluation
Abstraction des données :
• les données peuvent être abstraites par les langages de programmation de haut niveau dans des
objets à interface simple. L’utilisateur n’a pas besoin de connaitre les détails d’implémentation pour les
utiliser (utilisation des arbres, tables de hachage...).
L'expressivité:
• Un langage est expressif s’il offre des outils simples, commodes et intuitifs pour permettre au
programmeur d'exprimer les différents concepts de programmation.
Exemple:
• Utiliser des boucles « for » et « while » au lieu de « goto ».
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Critères d’évaluation
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Critères d’évaluation
La fiabilité désigne la capacité d’un programme écrit en langage de programmation particulier à
assurer sa fonction dans des conditions données.
Vérification de types :
• La vérification de types signifie qu’un langage est capable de détecter les erreurs relatives aux types de
données lors de la compilation et de l'exécution.
Exemple :
• Des langages tels que Python, Ada, C++ et Java, Ruby, C# ont des capacités étendues de prise en
charge des exceptions, mais de tels capacités sont absentes dans d'autres langages tels que le C ou le
FORTRAN.
Prise en charge des exceptions
• La possibilité pour un programme d’intercepter les erreurs faites pendant l’exécution, de les corriger et
de continuer l’exécution augmente de beaucoup la fiabilité du langage de programmation.
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Critères d’évaluation
Exemple :
• Des langages tels que Python, Ada, C++ et Java, Ruby, C# ont des capacités étendues de
prise en charge des exceptions, mais de telles capacités sont absentes dans d'autres langages tels que
le C ou le FORTRAN.

Lisibilité et facilité d'écriture :


• La lisibilité et la facilite d’écriture influencent la fiabilité des langages de programmation.
• si il n’y a pas de moyens naturels d’exprimer un algorithme, des solutions complexes
seront utilisées ce qui engendre un risque d’erreurs élevé.
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Critères d’évaluation
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Critères d’évaluation
• Coût lié à la programmation :
Si le langage n’est pas simple et orthogonal alors :
 les coûts de formation de programmeurs seront plus élevés.
 l'écriture de programmes coûtera plus cher.
• Coûts lié à la compilation et à l’exécution de programmes.
• Coûts lié à la maintenance de programmes.
• Coût lié à la mise en marche du langage.
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Critères d’évaluation
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Critères d’évaluation

• La portabilité désigne la capacité d’un programme écrit en langage de programmation particulier à


fonctionner dans différents environnements d'exécution.

• Les différences peuvent porter sur l'environnement matériel (processeur) comme sur l'environnement
logiciel (système d’exploitation).
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Langage Python
• Python est un langage de programmation développé depuis 1989 par Guido van Rossum et de
nombreux contributeurs bénévoles.
• En février 1991, la première version publique, numérotée 0.9.0.
• En Octobre 2000, la version Python 2.0 a été publiée puis suivie par les versions 2.1, 2.2 jusqu’à la
version 2.7.
• Afin de réparer certains défauts du langage, la version Python 3.0 a été publiée en décembre 2008.
• Cette version a été suivie par :
• La version 3.1 en 2009
• La version 3.3 en 2011
• La version 3.4 en 2014
• La version 3.6 en 2016
• La version 3.7 en 2017
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Caractéristiques de Python
•Python est portable, non seulement sur les différentes variantes d'Unix, mais aussi sur les OS
propriétaires : MacOS, BeOS, NeXTStep, MS-DOS et les différentes variantes de Windows.
•Python est gratuit mais on peut l'utiliser sans restriction dans des projets commerciaux.
•La syntaxe de Python est très simple et, combinée à des types de données évolués (listes,
dictionnaires, etc.), conduit à des programmes à la fois très compacts et très lisibles.
•Python gère ses ressources (mémoire, descripteurs de fichiers, etc.) sans intervention du
programmeur.
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Caractéristiques de Python
• Python est orienté-objet.
• Python intègre un système d'exceptions : les exceptions permettent de simplifier considérablement la
gestion des erreurs.
• Python est dynamiquement typé : tout objet manipulable par le programmeur possède un type bien
défini à l'exécution, qui n'a pas besoin d'être déclaré à l'avance.
• Python est orthogonal : un petit nombre de concepts suffit à engendrer des constructions très riches.
• Python est introspectif : un grand nombre d'outils de développement, comme le debugger sont
implantés en Python lui-même.
• Python est extensible : on peut facilement l'interfacer avec des bibliothèques existantes.
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Caractéristiques de Python

La bibliothèque standard de Python, et les paquetages contribués, donnent accès à une grande variété
de services: chaînes de caractères et expressions régulières, services UNIX standard (fichiers, pipes,
signaux, sockets, threads, etc.), protocoles Internet (Web, News, FTP, CGI, HTML, etc.), persistance et
bases de données, interfaces graphiques.
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Etapes d’installation de Python

• Pour installer Python, il faut se rendre sur le site officiel (http://python.org/download/) afin de
télécharger un installateur.
Il en existe deux versions de Python : les versions 3.x.x et la version 2.x.x. Toutes sont
disponibles sur le site de Python, mais les possesseurs d'ordinateurs récents ont tout
intérêt à opter pour la version 3.x.x.
• Il faut veiller à prendre la version correspondant à l’architecture de la machine (x86
si l’on a une machine 32 bits ou x86_64 si l’on a une machine 64 bits).
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Etapes d’installation de Python
Après le téléchargement, il faut lancer l’exécutable et suivre les étapes suivantes :

1. Choisir une installation pour tous les utilisateurs


ou seulement pour son profil (en général, il est
conseillé de l’installer pour tous les profils) .
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Etapes d’installation de Python
2. Choisir le répertoire d’installation (le choix par
défaut est recommandé)
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Etapes d’installation de Python

3. Choisir les modules secondaires à installer


1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Etapes d’installation de Python

4. La fin de l’installation prend quelques


secondes
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Etapes d’installation de Python

• L’installation de Python génère l’installation d’une interface, appelée IDLE (Python GUI).
• Cette interface vous permet de saisir des instructions en ligne de commande mais également
d’exécuter des programmes Python enregistrés dans des fichiers.
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Caractéristiques de Python
Il suffit de cliquer sur IDLE (Python GUI) pour ouvrir l’interface graphique relative à interpréteur de
commandes en ligne.
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Caractéristiques de Python
Pour écrire un programme dans un fichier, aller dans le menu File :
• Sélectionnez New File
• Une nouvelle fenêtre s’ouvre
• Tapez votre programme Python dans cette fenêtre
• Pour exécuter votre programme, allez dans le menu Run et faites Run Modules
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Critères de choix d’un langage de programmation
Caractéristiques de Python
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Blocs d’instructions
Structuration et notion de bloc
• En Python, chaque instruction s'écrit sur une ligne sans mettre d'espace au début.

Exemple: a = 10
b=3
print(a, b)

• Ces instructions simples peuvent cependant être mises sur la même ligne en les séparant par
des points virgules (;), les lignes étant exécutées dans l'ordre de gauche à droite.

Exemple: a = 10; b = 3; print(a, b)


1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Blocs d’instructions
Structuration et notion de bloc

• La séparation entre les en-têtes qui sont des lignes de définition de boucles, de fonction, de
classe se terminent par les deux points (:)
• Le contenu ou « bloc » d'instructions correspondant se fait par indentation des lignes.
• Une indentation s'obtient par le bouton tab (pour tabulation) ou bien par 4 espaces successifs.
• L’ensemble des lignes indentées constitue un bloc d’instructions.
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Blocs d’instructions
Structuration et notion de bloc
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Script et langage Python

• Peu de ponctuation.
• Pas de point virgule ";"
• Tabulation ou 4 espaces significatifs
• Scripts avec exécution d’un fichier ayant l’extension .py
Exemple: script.py
• Python utilise un identifiant pour nommer chaque objet
• Python n'offre pas la notion de variable, mais plutôt celle de référence (adresse)
d'objet
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Script et langage Python

La valeur de
C reste 2
malgré le
changement
de la valeur
de b
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Types de données
Les types de données les plus
utilisés sont :
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Variables
• Une variable est créée au moment où vous lui attribuez une valeur pour la
première fois.
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Variables
Les variables de chaîne peuvent être déclarées à l'aide de guillemets simples ou doubles :
Règles pour les variables Python:
o Un nom de variable doit commencer par une lettre ou le caractère de soulignement.
o Un nom de variable ne peut pas commencer par un nombre.
o Un nom de variable ne peut contenir que des caractères alphanumériques et des traits de
soulignement (A-z, 0-9 et _).
o Les noms de variable sont sensibles à la casse (age, Age et AGE sont trois variables
différentes) .
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Variables

Python permet d'affecter des valeurs à plusieurs variables sur une seule ligne:
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Variables d’entrée
• La fonction input() retourne une valeur qui correspond à ce que l'utilisateur a
entré. Cette valeur peut alors être assignée à une variable quelconque
• Input est une fonction qui renvoie toujours une chaîne de caractères
prénom=input("entrez votre nom: ")
print ("bonjour: ", prénom)
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Variables d’entrée
Pour changer le type d’une variable, on utilise :
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Variables de sortie
• La fonction print() de Python est souvent utilisée pour afficher des variables et
des chaines de caractères
• Pour combiner à la fois du texte et une variable, Python utilise le caractère +:
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Variables de sortie

• Pour tronquer une chaine de caractères à afficher il est possible d’utiliser \n


1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Variables de sortie
• Pour imprimer des lignes vides, il est possible d’utiliser l’une des méthodes
suivantes :
• Utiliser un chiffre représentant le nombre de lignes vide suivi de « * » et \n:
• Remplacer le nombre des lignes vierges par des \n
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Variables de sortie
• La fonction « end » permet d’ ajouter n'importe quelle chaîne à la fin de la sortie
de la fonction print
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Variables de sortie
• Le mot clé « sep » précise une séparation entre les variables chaines
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Variables de sortie
• Pour afficher deux chaînes de caractères l'une à côté de l'autre, sans espace
• on peut soit les concaténer, soit utiliser l'argument par mot-clé sep avec une
chaîne de caractères vide :
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Variables de sortie
• La méthode.format() permet une meilleure organisation de l'affichage des
variables dans une chaîne de caractères :
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Manipulation des types numériques
Python reconnait et accepte les opérateurs arithmétiques suivants :
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Opérateurs d’affectation composés Python

Python reconnait également des opérateurs d’affectation qu’on appelle


“composés” et qui vont permettre d’effectuer deux opérations à la suite : une
première opération de calcul suivie immédiatement d’une opération d’affectation.
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Opérateurs d’affectation composés Python
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Opérateurs d’affectation composés Python
Exemple :
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Structure conditionnelle

Exemple1 : structure conditionnelle avec if


1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Structure conditionnelle

Exemple2 : structure conditionnelle avec if elif


1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Structure conditionnelle
Exemple2 : structure conditionnelle avec if elif else
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Structure conditionnelle
• Le mot clé or est un opérateur logique et est utilisé pour combiner des instructions
conditionnelles :
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Structure conditionnelle
• Le mot clé and est un opérateur logique et est utilisé pour combiner des instructions
conditionnelles :
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Structures itératives
Boucle While
Avec la boucle while, il est possible d’exécuter un ensemble d'instructions tant qu'une
condition est vraie :
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Structures itératives
Boucle For
Avec la boucle while, il est possible d’exécuter un ensemble d'instructions tant qu'une
condition est vraie :
• Une boucle for est utilisée pour itérer sur une séquence.
• Pour parcourir un ensemble de codes un nombre spécifié de fois, nous pouvons utiliser la
fonction range ().
• La fonction range () renvoie une séquence de nombres, commençant à 0 par défaut, et
incrémentant de 1 (par défaut), et se termine à un nombre spécifié.
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Structures itératives
Boucle For
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Structures itératives
Boucle For
• La fonction range () par défaut a 0 comme valeur de départ, mais il est possible de spécifier
la valeur de départ en ajoutant un paramètre: range (2, 6), ce qui signifie des valeurs de 2 à
6 (mais pas 6) :
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Structures itératives
• Avec l'instruction break, il est possible d’arrêter la boucle même si la condition de sortie
n’est pas vérifiée :
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Conversion de l’algorithme en Python
Structures itératives
• Avec l'instruction continue, nous pouvons arrêter l'itération en cours et continuer avec la
suivante :
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Optimisation du code (bonnes pratiques de codage, commentaires, …)
Python Enhancement Proposal

• Afin d’améliorer le langage Python, la communauté qui développe Python publie régulièrement des
guides appelés Python Enhancement Proposal (PEP) suivis d’un numéro.
• Il s’agit de propositions concrètes pour améliorer le code, ajouter de nouvelles fonctionnalités, mais
aussi des recommandations sur la manière d’utiliser Python, bien écrire du code, etc.
• On parle de code Pythonique lorsque ce dernier respecte les règles d’écriture définies par la
communauté Python mais aussi les règles d’usage du langage.
• Le guide de style PEP 8 est une des plus anciennes versions de PEP (les numéros sont croissants
avec le temps). Elle consiste en un nombre important de recommandations sur la syntaxe de
Python.
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Optimisation du code (bonnes pratiques de codage, commentaires, …)
Python Enhancement Proposal

• Quelques concepts de PEP :


1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Optimisation du code (bonnes pratiques de codage, commentaires, …)
Python Enhancement Proposal • Les commentaires débutent toujours par le symbole # suivi
d’une espace.
• Les commentaires donnent des explications claires sur l’utilité du
code et doivent être synchronisés avec le code, c’est-à-dire que si
le code est modifié, les commentaires doivent l’être aussi (le cas
échéant).
• Les commentaires sont sur le même niveau d’indentation que le
code qu’ils commentent.
• Les commentaires sont constitués de phrases complètes, avec
une majuscule au début (sauf si le premier mot est une variable
qui s’écrit sans majuscule) et un point à la fin.
• PEP 8 recommande la cohérence entre la langue utilisée pour
les commentaires et la langue utilisée pour nommer les variables.
Pour un programme scientifique, les commentaires et les noms de
variables sont en anglais.
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Optimisation du code (bonnes pratiques de codage, commentaires, …)
Python Enhancement Proposal

print ("Suite de Fibonacci")


a,b,c=1,1,1 # a et b servent au calcul des termes successifs
# c est un simple compteur
# affichage du premier terme
# nous affichons 15 termes au totalprint(b)
while c<15: a,b,c=a,a+b,c+1
print(b)
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Optimisation du code (bonnes pratiques de codage, commentaires, …)
Python Enhancement Proposal
• L’indentation est obligatoire en Python pour séparer les blocs
d’instructions
• Cela vient d’un constat simple : l’indentation améliore la lisibilité
d’un code
• Dans la PEP 8, la recommandation pour la syntaxe de chaque
niveau d’indentation est très simple : 4 espaces
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Optimisation du code (bonnes pratiques de codage, commentaires, …)
Python Enhancement Proposal
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Optimisation du code (bonnes pratiques de codage, commentaires, …)
Python Enhancement Proposal
• Les modules sont des programmes Python qui contiennent des
fonctions que l’on est amené à réutiliser souvent (on les appelle
aussi bibliothèques ou librairies). Ce sont des « boîtes à outils»
qui vont vous être très utiles.
• L’utilisation de la syntaxe import module permet d’importer tout
une série de fonctions organisées par « thèmes ».

Exemple :
Les fonctions gérant les nombres aléatoires avec random et les fonctions mathématiques avec
math. Python possède de nombreux autres modules internes (c’est-à-dire présents de base
lorsqu’on installe Python). import math
print(math.cos(math.pi/2))
print(math.sin(math.pi/2))
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Optimisation du code (bonnes pratiques de codage, commentaires, …)
Python Enhancement Proposal
• Les noms de variables, de fonctions et de modules doivent être
en minuscules avec un caractère « souligné » (« tiret du bas » ou
« underscore » en anglais) pour séparer les différents « mots »
dans le nom.
ma_variable
fonction_test_27()
mon_module

• Les constantes sont écrites en majuscules :

MA_CONSTANTE
VITESSE_LUMIERE
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Optimisation du code (bonnes pratiques de codage, commentaires, …)
Python Enhancement Proposal • Une ligne de code ne doit pas dépasser 79 caractères
• Le caractère \ permet de couper des lignes trop longues :
print("ATGCGTACAGTATCGATAAC"
... "ATGACTGCTACGATCGGATA"
... "CGGGTAACGCCATGTACATT")

• À l’intérieur d’une parenthèse, on peut revenir à la ligne sans


utiliser le caractère \. C’est particulièrement utile pour préciser
les arguments d’une fonction ou d’une méthode lors de sa
création ou lors de son utilisation :
ma_variable = 3
if (ma_variable > 1 and ma_variable < 10
... and ma_variable % 2 == 1 and ma_variable % 3 == 0):
... print(f"ma variable vaut {ma_variable}")
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Optimisation du code (bonnes pratiques de codage, commentaires, …)
Python Enhancement Proposal • Les parenthèses sont également très pratiques pour répartir sur
plusieurs lignes une chaîne de caractères qui sera affichée sur
une seule ligne :
print("ATGCGTACAGTATCGATAAC"
"ATGACTGCTACGATCGGATA"
"CGGGTAACGCCATGTACATT")
• L’ opérateur + est utilisé pour concaténer les trois chaînes de caractères et que celles-ci ne sont pas
séparées par des virgules.
• À partir du moment où elles sont entre parenthèses, Python les concatène automatiquement.
• On peut aussi utiliser les parenthèses pour évaluer un expression trop longue :
ma_variable = 3
if (ma_variable > 1 and ma_variable < 10
and ma_variable % 2 == 1 and ma_variable % 3 == 0):
print(f"ma variable vaut {ma_variable}")
1.Transformer une suite d’étapes algorithmiques
en une suite d’instructions Python
Optimisation du code (bonnes pratiques de codage, commentaires, …)
Python Enhancement Proposal • Dans un script, les lignes vides sont utiles pour séparer
visuellement les différentes parties du code.
• Il est recommandé de laisser deux lignes vides avant la
définition d’une fonction.
• On peut aussi laisser une ligne vide dans le corps d’une fonction
pour séparer les sections logiques de la fonction mais cela est à
utiliser avec précaution.

from math import *


def maximum (a, b):
if a>b:
return a
else
return b
2. Manipuler les données
Manipulation des fonctions lambda

Manipulation des fonctions

• Une fonction est un bloc de code qui ne s'exécute que lorsqu'elle est appelée :
 Vous pouvez transmettre des données, appelées paramètres, à une fonction
 Une fonction peut renvoyer des données en conséquence.
 Pour appeler une fonction, utilisez le nom de la fonction suivi de parenthèses
2. Manipuler les données
Manipulation des fonctions lambda

Manipulation des fonctions

• Les informations peuvent être transmises aux fonctions comme paramètres/ arguments :
 Les arguments sont spécifiés après le nom de la fonction, entre parenthèses.
 Vous pouvez ajouter autant d'arguments que vous le souhaitez, séparez-les simplement
par une virgule.
 Lorsqu'on définit une fonction def fct(x, y): les arguments x et y sont appelés arguments
positionnels.
2. Manipuler les données
Manipulation des fonctions lambda

Manipulation des fonctions

• Une fonction peut retourner une valeur.


2. Manipuler les données
Manipulation des fonctions lambda

Manipulation des fonctions

• Il est possible de donner une valeur par défaut à un paramètre d’une fonction.
• Un argument défini avec une syntaxe def fct(arg=val): est appelé argument par mot-clé.
2. Manipuler les données
Manipulation des fonctions lambda

Manipulation des fonctions

• Il est bien sûr possible de passer plusieurs arguments par mot-clé :


2. Manipuler les données
Manipulation des fonctions lambda

Manipulation des fonctions

• Il est possible de préciser le nom de l'argument lors de l'appel :


2. Manipuler les données
Manipulation des fonctions lambda

Manipulation des fonctions

• Il est possible de faire un mélange d'arguments positionnels et par mot-clé. Ainsi les arguments
positionnels doivent toujours être placés avant les arguments par mot-clé :
2. Manipuler les données
Manipulation des fonctions lambda

Fonction Lambda

En Python, le mot clé lambda est utilisé pour déclarer une fonction anonyme (sans nom), raison
pour laquelle ces fonctions sont appelées « fonction lambda » :
• Une fonction lambda est comme n’importe quelle fonction Python normale, sauf qu’elle n’a pas
de nom lors de sa définition et qu’elle est contenue dans une ligne.
• Tout comme la définition d’une fonction normale par l’utilisateur à l’aide du mot clé « def », une
fonction lambda est définie à l’aide du mot clé « lambda ».
• Une fonction lambda peut avoir n nombre d’arguments mais une seule expression.
2. Manipuler les données
Manipulation des fonctions lambda

Fonction Lambda
2. Manipuler les données
Manipulation des fonctions lambda

Fonction Lambda

Exemple:

• Une fonction lambda qui ajoute 10 au nombre passé en x= lambda a: a+10


argument et affiche le résultat : print(x(5)) #affiche 15

• Une définition de fonction qui prend un argument et cet def myfunc(n):


argument sera multiplié par un nombre inconnu : return lambda a: a*n
mydouble= myfunc(2)
print(mydouble(11)) #affiche 22
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux dynamiques (Liste)

• Une liste est une collection qui est ordonnée, modifiable et qui peuvent contenir plusieurs fois
la même valeur.
• Une liste est déclarée par une série de valeurs (n'oubliez pas les guillemets, simples ou doubles,
s'il s'agit de chaînes de caractères) séparées par des virgules, et le tout encadré par des crochets .

Liste= [el1, elt2,…eln]


2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux dynamiques (Liste)

• Liste[i]: permet d’accéder à l’élément de la liste se trouvant à la ième position


2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux dynamiques (Liste)

• Liste[i]= val: permet de changer la valeur de l’élément de la liste se trouvant à la position i


2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux dynamiques (Liste)

• Parcourir une liste est possible en utilisant l’instruction for elem in liste où elem est l’élément de
la liste liste.
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux dynamiques (Liste)

• Vérifier si un élément elem est dans une liste Liste est possible en utilisant l’instruction : if elem
in Liste.
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux dynamiques (Liste)

• Fonction len(Liste) est une fonction permettant de retourner la longueur de la liste Liste.
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux dynamiques (Liste)

• Fonction append(élem) est une fonction qui permet d’ajouter un élément élem à la fin de liste.
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux dynamiques (Liste)

• Fonction insert(pos, élem) est une fonction qui permet d’ajouter un élément élem à une position
i de la liste .
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux dynamiques (Liste)

• Fonction pop() est une fonction qui assure la suppression du dernier élément de la liste.
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux dynamiques (Liste)

• Fonction del(élem) est une fonction qui permet de supprimer un élément particulier élem dans
une liste.
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux dynamiques (Liste)

• Fonction extend(Liste) est une fonction qui permet de fusionner deux listes.
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux dynamiques (Liste)

• Fonction copy() est une fonction qui permet de copier le contenu d’une liste dans une autre.
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux dynamiques (Liste)

• Fonction clear() est une fonction qui permet de supprimer tous les éléments d’une liste.

• Fonction reverse() est une fonction qui permet d’inverser une liste.
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux dynamiques (Liste)

• Fonction sort() est une fonction qui permet de trier une liste.

• Fonction remove() est une fonction qui permet de supprimer un élément spécifique de la liste.
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Manipulation des chaînes de caractères

• Une chaine de caractères est manipulée comme une liste de caractères.

 Les opérateurs de concaténation (+) et de répétition (*).

 L’opérateur (+) permet de concaténer une chaine de caractères ou plus.

 L’opérateur (*) permet de définir le nombre de répétitions d’une chaine.


2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Manipulation des chaînes de caractères


2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Manipulation des chaînes de caractères

• Création des chaînes de caractères en utilisant le mot clé str.


2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Manipulation des chaînes de caractères

Fonctions sur les chaînes de caractères:


• Len(): retourne la longueur d’une chaine de
caractères.
• Max(): retourne le caractère inclus dans la
chaine ayant la plus grande valeur ASCII.
• Min(): retourne le caractère inclus dans la
chaine ayant la plus petite valeur ASCII.
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Manipulation des chaînes de caractères

L’opérateur indice [ ]:
• Une chaîne de caractères est une séquence de caractères.
• Un caractère de la chaîne est accessible par l’opérateur indice [ ].
• Le premier caractère a l’indice 0.
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Manipulation des chaînes de caractères

Comparaison de chaînes de caractères : La comparaison des caractères un par un selon


leurs code ASCII.
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux statiques (tuple)

• Un tuple est une collection ordonnée , non modifiable (contrairement à la liste qui est
modifiable) et qui peuvent contenir plusieurs fois la même valeur.
• En Python, les tuples ont écrits avec des crochets ronds.

Tuple= (el1, elt2,…eln)


2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux statiques (tuple)

• La fonction list(Tuple) permet de convertir le tuple Tuple en liste pour pouvoir le modifier.
• La fonction tuple(Liste) permet de convertir la liste Liste en tuple.
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux statiques (tuple)

• Parcours d’un tuple :


2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)
Tableaux statiques (tuple)
• Vérification si un élément est dans un tuple :

• Fonction del(tuple) assure la surpression d’un tuple.


2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)
Tableaux statiques (tuple)

• Fusion de deux tuples avec « + »

• La fonction index(elem) retourne la position de l’élément elem dans le tuple.


2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux statiques (set)

• Un set est une collection non ordonnée, non indexée et non modifiables qui n’acceptent pas
de contenir plusieurs fois le même élément.
• En Python, les sets sont écrits avec des accolades.

Set={elem1,elem2,…..,elemn}

• Création d’un set :


2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux statiques (set)

• Parcours d’un set :


2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux statiques (set)


• Vérification si elem est un élément dans un set thisset : elem in thisset (retourne true
si oui false sinon).

• Une fois qu'un ensemble est créé, vous ne pouvez pas modifier ses éléments (remplacer
des éléments par d’autres) , mais vous pouvez ajouter de nouveaux éléments ou
supprimer les éléments.
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux statiques (set)

• La fonction add() permet d’ajoute un élément à la fin d’un set :

• La fonction update() permet l’ajout de plusieurs éléments à un set :


2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux statiques (set)

• Les fonctions remove() et discard permettent la suppression d’un élément d’un set :
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)
Tableaux statiques (set)

• La fonction pop() permet la suppression d’un élément aléatoire d’un set et retourne l’élément
supprimé

• La fonction clear() assure le suppression de tous les éléments d’un set (rendre un set
vide).
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux statiques (set)

• La fonction del() assure la suppression d’un set.

• Les fonction union() et update() assurent la fusion de deux sets.


2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Tableaux statiques (set)

Autres méthodes :
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Dictionnaires
• Un dictionnaire est une collection non ordonnée, modifiable et indexée.
• En Python, les dictionnaires sont écrits avec des accolades, et ils ont des clés et des valeurs
dictionnaire={clé1: val1, clé2:val2, clén:valn}

• Création d’un dictionnaire :


2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Dictionnaires

• Parcours d’un dictionnaire thisdict en utilisant l’instruction for x in thisdict où x est un élément
de thisdict.
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)
Dictionnaires

• Modification d’une valeur d’une clé particulière :

• La fonction get() permet de retourner la valeur d’une clé particulière :


2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Dictionnaires

• La fonction items() permet de retourner les clés et les valeurs d’un dictionnaire à la fois.
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Dictionnaires

• Il est possible de vérifier si une clé existe dans un dictionnaire :

• La fonction len() permet de retourner la longueur d’un dictionnaire :


2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Dictionnaires

• Il est possible d’ajouter un élément à un dictionnaire :


2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Dictionnaires

• La fonction popitem() permet de supprimer le dernier élément du dictionnaire :


2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Dictionnaires

• La fonction del() permet de supprimer d’un dictionnaire un élément ayant une clé particulière :
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Dictionnaires

• La fonction pop() permet de supprimer un élément du dictionnaire ayant une clé particulière :
2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Dictionnaires

• La fonction keys() permet de retourner toutes les clés d’un dictionnaire :


2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Dictionnaires

• La fonction values() permet de retourner toutes les valeurs d’un dictionnaire :


2. Manipuler les données
Listes, tuples, dictionnaires, ensembles (set)

Dictionnaires

• La fonction copy() permet de copier un dictionnaire dans un autre :


2. Manipuler les données
Fichiers de données
Utilisation des fichiers

• Python a plusieurs fonctions pour créer, lire, mettre à jour et supprimer des fichiers texte.
• La fonction clé pour travailler avec des fichiers en Python est open().
 Elle prend deux paramètres; nom de fichier et mode.
 Il existe quatre méthodes (modes) différentes pour ouvrir un fichier :
•"r" -Lecture -Par défaut. Ouvre un fichier en lecture, erreur si le fichier n'existe pas.
•"a" -Ajouter -Ouvre un fichier à ajouter du texte dedans, crée le fichier s'il n'existe pas.
•"w" -Écrire -Ouvre un fichier pour l'écriture, crée le fichier s'il n'existe pas.
•"x" -Créer -Crée le fichier spécifié, renvoie une erreur si le fichier existe.
2. Manipuler les données
Fichiers de données
Utilisation des fichiers

• Ouvrir et lire un fichier :


• Pour ouvrir le fichier, utilisez la fonction open() intégrée.
• La fonction open() renvoie un objet fichier, qui a une méthode read() pour lire le contenu du
fichier .
f =open("demofile.txt","r")
print(f.read())
• La fonction read(n) retourne les 5 premiers caractères du fichier :

f = open("demofile.txt", "r")
print(f.read(5))
2. Manipuler les données
Fichiers de données
Utilisation des fichiers

• La fonction readline() retourne une seule ligne du fichier :

f =open("demofile.txt","r")
print(f.readline()
2. Manipuler les données
Fichiers de données
Utilisation des fichiers
• Ecriture dans un fichier :
• Pour écrire dans un fichier existant, vous devez ajouter un paramètre à la fonction open():
f =open("demofile2.txt","a") #ouvrir le fichier en mode ajout c’est à dire il est possible d’ajouter du
texte dedans
f.write("Le fichier contient plus de texte") #ajouter la phrase “Le fichier contient plus de texte“
f.close() #fermer le fichier
f =open("demofile3.txt","w") #ouvrir le fichier en mode écriture en effaçant son ancien contenu
f.write("domage!! l’ancient contenu est supprimé“) #écrire la phrase domage!! l’ancient contenu est
supprimé“
f.close() #fermer le fichier
f =open("demofile3.txt","r")
print(f.read()) # ouvrir et lire le fichier après l'ajout
2. Manipuler les données
Fichiers de données
Utilisation des fichiers

• La fonction close() permet de fermer un fichier

• Il est recommandé de toujours fermer le fichier lorsque vous en avez terminé.

f =open("demofile.txt","r") #ouvrir le fichier en mode


lecture
print(f.readline()) #lire une ligne du fichier
f.close() #fermer le fichier
2. Manipuler les données
Fichiers de données
Utilisation des fichiers

• La fonction os.remove() permet de supprimer un fichier

• Pour supprimer un fichier, vous devez importer le module OS et exécuter sa fonction


os.remove ().

import os #importer la bibliothèque os


os.remove("demofile.txt") #supprimer un fichier
2. Manipuler les données
Fichiers de données
Format CSV

• Le fichier Comma-separated values (CSV) est un format permettant de stocker des tableaux
dans un fichier texte. Chaque ligne est représentée par une ligne de texte et chaque colonne est
séparée par un séparateur (virgule, point-virgule, etc).
• Les champs texte peuvent également être délimités par des guillemets.
• Lorsqu'un champ contient lui-même des guillemets, ils sont doublés afin de ne pas être considérés
comme début ou fin du champ.
• Si un champ contient un signe pouvant être utilisé comme séparateur de colonne (virgule, point-
virgule, etc) ou comme séparateur de ligne, les guillemets sont donc obligatoires afin que ce signe
ne soit pas confondu avec un séparateur.
2. Manipuler les données
Fichiers de données
Format CSV
2. Manipuler les données
Fichiers de données
Format CSV

• Le module CSV de Python permet de simplifier l'utilisation des fichiers CSV.

• Lecture d’un fichier CSV :


• La fonction reader() permet de lire un fichier CSV.
• Il faut ouvrir un flux de lecture de fichier et ouvrir à partir de ce flux un lecteur CSV.
2. Manipuler les données
Fichiers de données
Format CSV
2. Manipuler les données
Fichiers de données
Format CSV

Il est également possible de lire les données et obtenir un dictionnaire par ligne contenant les
données en utilisant DictReader au lieu de reader.
2. Manipuler les données
Fichiers de données
Format CSV

• Écriture dans un fichier CSV :


• À l'instar de la lecture, on ouvre un flux d'écriture (fonction writer()) et on ouvre un écrivain CSV à partir
de ce flux (fonction writerow()) :
2. Manipuler les données
Fichiers de données
Format CSV

• Il est également possible d'écrire le fichier en fournissant un dictionnaire par ligne à


condition que chaque dictionnaire possède les mêmes clés.
• La fonction DictWriter() produit les lignes de sortie depuis des dictionnaires . Il faut
également fournir la liste des clés des dictionnaires avec l'argument fieldnames.
2. Manipuler les données
Fichiers de données
Format CSV
2. Manipuler les données
Fichiers de données
Format JSON
• Le format JavaScript Object Notation (JSON) est issu de la notation des objets dans le langage
JavaScript
• Les principaux avantages de JSON:
• il est simple à mettre en œuvre par un développeur
• Un format ouvert qui ne dépend d’aucun langage de programmation
• Assure un stockage de données de différents types (booléens, entiers, chaines de caractères,
etc)
• Il ne comporte que des associations clés → valeurs (à l'instar des dictionnaires)
• Une valeur peut être une autre association clés → valeurs, une liste de valeurs, un entier, un
nombre
réel, une chaîne de caractères, un booléen ou une valeur nulle
• Sa syntaxe est similaire à celle des dictionnaires Python
2. Manipuler les données
Fichiers de données
Format JSON

Exemple de fichier JSON :


• Définition d'un menu: il s'agit d'un
objet composé de membres qui sont
un attribut (Fichier) et un tableau
(commandes) qui contient d'autres
objets: les lignes du menu. Une ligne
de menu est identifiée par son titre et
son action.
2. Manipuler les données
Fichiers de données
Format JSON

• Lire un fichier JSON :


La fonction loads (texteJSON) permet de décoder le texte JSON passé en argument et de le
transformer en dictionnaire ou une liste :
2. Manipuler les données
Fichiers de données
Format JSON

• Écrire un fichier JSON :


La fonction dumps(variable) transforme un dictionnaire ou une liste en texte JSON en fournissant
en argument la variable à transformer :
2. Manipuler les données
Bibliothèques standards

• Python dispose d’une très riche bibliothèque de modules (classes (types d’objets), fonctions,
constantes, etc) étendant les capacités du langage dans de nombreux domaines : nouveaux types
de données, interactions avec le système, gestion des fichiers et des processus, protocoles de
communication (internet, mail, FTP, etc.),multimédia, etc.

• Certains des modules importants sont :


 math pour les utilitaires mathématiques
 Statistics pour le calcul de valeurs statistiques sur des données numériques
 re pour les expressions régulières
 Json pour travailler avec JSON
 Datetime pour travailler avec des dates
2. Manipuler les données
Bibliothèques standards
Le module Math :
• Le module math fournit un accès à de nombreuses fonctions permettant de réaliser des opérations
mathématiques comme le calcul d’un sinus, cosinus, d’une tangente, d’un logarithme ou d’une
exponentielle.
• Les fonctions les plus couramment utilisées sont les suivantes :
ceil() et floor() renvoient l’arrondi du nombre passé en argument en arrondissant respectivement à
l’entier supérieur et inférieur ;
 fabs() renvoie la valeur absolue d’un nombre passé en argument ;
 isnan() renvoie True si le nombre passé en argument est NaN = Not a Number (pas un nombre en
français) ou False sinon ;
 exp() permet de calculer des exponentielles.
 log() permet de calculer des logarithmes.
 La fonction sqrt() permet de calculer la racine carrée d’un nombre
 cos(), sin() et tan() permettent de calculer des cosinus, sinus et tangentes et renvoient des valeurs en
radians
2. Manipuler les données
Bibliothèques standards

• les fonctions de ce module ne peuvent pas être utilisées avec des nombres complexes. Pour cela,
il faudra plutôt utiliser les fonctions du module cmath.
• Le module math définit également des constantes mathématiques utiles comme pi ou le nombre de
Neper, accessibles via math.pi et math.e.
2. Manipuler les données
Bibliothèques standards

Le module random :
• random fournit des outils pour générer des nombres pseudo-aléatoires de différentes façons
• La fonction random() est la plus utilisée du module. Elle génère un nombre à virgule flottante
aléatoire de façon uniforme dans la plage semi-ouverte [0.0, 1.0).
• La fonction uniform() génère un nombre à virgule flottante aléatoire compris dans un
intervalle. Cette fonction a deux arguments : le premier nombre représente la borne basse de
l’intervalle tandis que le second représente la borne supérieure.

Vous aimerez peut-être aussi