22 mar 2018 · 7 4 Note sur les retours à la ligne sous Unix et sous Windows 76 Cours de Python / Université de Paris / UFR Sciences du Vivant 3 Nous pourrions utiliser l'algorithme présenté en pseudo-code dans la figure 1 1
Previous PDF | Next PDF |
[PDF] Notes de cours / Algo et Python - PREPAMANTES
5 À quoi sert un algorithme ? L'algorithmique est bien plus ancienne que l' informatique, que l'ordinateur, et que le langage Python, utilisé dans ce
[PDF] Informatique et Algorithmique avec le langage Python - Pages
Informatique et Algorithmique avec le langage Python Cours a 1) L' interpréteur python appelé aussi Shell note minimale à obtenir pour valider une UE
[PDF] PDF Python - Cours de Python - Université de Paris
22 mar 2018 · 7 4 Note sur les retours à la ligne sous Unix et sous Windows 76 Cours de Python / Université de Paris / UFR Sciences du Vivant 3 Nous pourrions utiliser l'algorithme présenté en pseudo-code dans la figure 1 1
[PDF] Algorithmique et programmation : les bases (Python) Corrigé
Cours Python, Semaine 1 La structure d'un programme Python est celle d'un algorithme avec les 3 parties Le type entier se note int (en minuscules)
[PDF] Introduction à lalgorithmique et à la programmation en Python 3
return Nom du fichier : Exercice_listes_01 py Exercice 02 Un élève obtient dans un cours Mathématiques au Collège les notes suivantes :
[PDF] INITIATION A LALGORITHMIQUE INF 102 NOTES DE COURS
Nous donnerons une implémentation en Python (voir cours MISMI MIS 102) Définition 1 4 Une heuristique est une procédure de calcul correcte pour certaines
[PDF] Introduction à lalgorithmique et à la programmation - IGM
Introduction à l'algorithmique et à la programmation Cours 1 Anthony Labarre Université Gustave Eiffel Sans cela, vous ne pourrez pas taper python dans le terminal 2 / 37 une note de TP : vous rendez chaque TP, tous seront notés
[PDF] Notes de cours pour lapprentissage de la programmation avec Python
G Swinnen – A Downey – J Elkner : Cours de programmation avec Python - Page 1 même programme, vous n'avez pas à réécrire chaque fois l'algorithme qui
[PDF] Fichier regroupant les activités
la racine cubique de 20, le nombre qui, mis « au cube » donne 20, noté 3 √20 1) Ecrire un algorithme en Python qui calcule les coordonnées d'un vecteur AB Appeler Dans le contexte de l'exercice, que signifie l'instruction suivante ?
[PDF] Exercices corrigés
Ils sont soit simples, soit moins simples (notés > dans la marge) soit difficiles ( notés >>) Les scripts du cours Cours Cours no 4 : « Structures de données Python » 1 définir la liste : liste =[17 Écrire l'algorithme du calcul de : m3 = m1 −m2
[PDF] Score ASIA
[PDF] Un algorithme de simulation pour résoudre un problème de probabilité
[PDF] Algorithmique en classe de première avec AlgoBox - Xm1 Math
[PDF] Algorithme U prend la valeur [expression de la suite - Maths en ligne
[PDF] Algorithme U prend la valeur [expression de la suite - Maths en ligne
[PDF] Algorithmique et Suites numériques Utiliser un algorithme avec les
[PDF] Les tableaux - Luc Brun
[PDF] Les tableaux 1 Exercice 1 - Lipn
[PDF] Les tableaux 1 Exercice 1 - Lipn
[PDF] Terminale S Exercices sur les suites Exercice 1 On consid`ere la
[PDF] Langage C : énoncé et corrigé des exercices IUP GéniE - LAMSADE
[PDF] Cours d 'algorithmique BTS SIO première année - Bienvenue sur le
[PDF] Algorithmique et programmation, un levier pour développer des
[PDF] Algorithmique et Structures de Données
Cours de Python
Introduction à la programmation Python pour la biologiehttps://python.sdv.univ-paris-diderot.fr/Patrick FuchsetPierre Poulainprénom [point] nom [arobase] u-paris [point] fr
version du 29 août 2022Université Paris Cité, France
Ce document est sous licence
Creative Commons Attribution - Partage dans les Mêmes Conditions 3.0 France (CC BY-SA 3.0 FR)Table des matières
Avant-propos7
Quelques mots sur l"origine de ce cours
7Remerciements
7Le livre
71 Introduction9
1.1 C"est quoi Python?
91.2 Conseils pour installer et configurer Python
91.3 Notations utilisées
101.4 Introduction aushell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
1.5 Premier contact avec Python
111.6 Premier programme
121.7 Commentaires
121.8 Notion de bloc d"instructions et d"indentation
131.9 Autres ressources
132 Variables14
2.1 Définition
142.2 Les types de variables
142.3 Nommage
152.4 Écriture scientifique
152.5 Opérations
162.6 La fonctiontype(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
2.7 Conversion de types
172.8 Note sur la division de deux nombres entiers
182.9 Note sur le vocabulaire et la syntaxe
182.10 Minimum et maximum
182.11 Exercices
193 Affichage20
3.1 La fonctionprint(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
3.2 Écriture formatée
213.3 Écriture scientifique
243.4 Ancienne méthode de formatage des chaînes de caractères
243.5 Note sur le vocabulaire et la syntaxe
263.6 Exercices
264 Listes28
4.1 Définition
284.2 Utilisation
284.3 Opération sur les listes
284.4 Indiçage négatif
294.5 Tranches
294.6 Fonctionlen(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
2Table des matièresTable des matières4.7 Les fonctionsrange()etlist(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
4.8 Listes de listes
314.9 Minimum, maximum et somme d"une liste
314.10 Exercices
325 Boucles et comparaisons33
5.1 Bouclesfor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
5.2 Comparaisons
365.3 Boucleswhile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
5.4 Exercices
376 Tests42
6.1 Définition
426.2 Tests à plusieurs cas
426.3 Importance de l"indentation
436.4 Tests multiples
436.5 Instructionsbreaketcontinue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
6.6 Tests de valeur sur desfloats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
6.7 Exercices
457 Fichiers50
7.1 Lecture dans un fichier
507.2 Écriture dans un fichier
527.3 Ouvrir deux fichiers avec l"instructionwith. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
7.4 Note sur les retours à la ligne sous Unix et sous Windows
537.5 Importance des conversions de types avec les fichiers
547.6 Du respect des formats de données et de fichiers
547.7 Exercices
548 Modules57
8.1 Définition
578.2 Importation de modules
578.3 Obtenir de l"aide sur les modules importés
588.4 Quelques modules courants
608.5 Modulerandom: génération de nombres aléatoires. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
8.6 Modulesys: passage d"arguments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.7 Moduleos: interaction avec le système d"exploitation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
8.8 Exercices
639 Fonctions66
9.1 Principe et généralités
669.2 Définition
679.3 Passage d"arguments
689.4 Renvoi de résultats
689.5 Arguments positionnels et arguments par mot-clé
689.6 Variables locales et variables globales
709.7 Principe DRY
739.8 Exercices
7410 Plus sur les chaînes de caractères78
10.1 Préambule
7810.2 Chaînes de caractères et listes
7810.3 Caractères spéciaux
7910.4 Préfixe de chaîne de caractères
7910.5 Méthodes associées aux chaînes de caractères
8010.6 Extraction de valeurs numériques d"une chaîne de caractères
82Cours de Python / Université Paris Cité / UFR Sciences du Vivant3
Table des matièresTable des matières10.7 Conversion d"une liste de chaînes de caractères en une chaîne de caractères. . . . . . . . . . . . . . . . . . 82
10.8 Exercices
8311 Plus sur les listes88
11.1 Méthodes associées aux listes
8811.2 Construction d"une liste par itération
9011.3 Test d"appartenance
9111.4 Copie de listes
9111.5 Liste de compréhension
9211.6 Exercices
9312 Plus sur les fonctions96
12.1 Appel d"une fonction dans une fonction
9612.2 Fonctions récursives
9712.3 Portée des variables
9812.4 Portée des listes
9912.5 Règle LGI
10 012.6 Recommandations
10112.7 Exercices
10 213 Containers, dictionnaires, tuples etsets104
13.1 Containers
10 413.2 Dictionnaires
10713.3 Tuples
11113.4Setsetfrozensets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .116
13.5 Récapitulation des propriétés des containers
11913.6 Dictionnaires etsetsde compréhension. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
13.7 Modulecollections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120
13.8 Exercices
12 014 Création de modules123
14.1 Pourquoi créer ses propres modules?
12314.2 Création d"un module
12314.3 Utilisation de son propre module
12414.4 Lesdocstrings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124
14.5 Visibilité des fonctions dans un module
12514.6 Module ou script?
12514.7 Exercice
12 615 Bonnes pratiques en programmation Python
12715.1 De la bonne syntaxe avec la PEP 8
12715.2 Lesdocstringset la PEP 257. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
15.3 Outils de contrôle qualité du code
13315.4 Organisation du code
13415.5 Conseils sur la conception d"un script
13615.6 Pour terminer : la PEP 20
13616 Expressions régulières etparsing138
16.1 Définition et syntaxe
13816.2 Quelques ressources en ligne
14016.3 Le modulere. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140
16.4 Exercices
1424Cours de Python / Université Paris Cité / UFR Sciences du Vivant
Table des matièresTable des matières17 Quelques modules d"intérêt en bioinformatique14517.1 ModuleNumPy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .145
17.2 ModuleBiopython. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157
17.3 Modulematplotlib. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160
17.4 Modulepandas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164
17.5 Un exemple plus complet
16817.6 Exercices
17 418 Jupyter et ses notebooks179
18.1 Installation
17918.2 Lancement de Jupyter et création d"un notebook
17918.3 Le format Markdown
18218.4 Des graphiques dans les notebooks
18418.5 Lesmagic commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187
18.6 JupyterLab
18 719 Avoir la classe avec les objets191
19.1 Construction d"une classe
19119.2 Espace de noms
20219.3 Polymorphisme
20519.4 Héritage
20719.5 Accès et modifications des attributs depuis l"extérieur
21219.6 Bonnes pratiques pour construire et manipuler ses classes
21619.7 Exercices
22120 Fenêtres graphiques etTkinter222
20.1 Utilité d"une GUI
22220.2 Quelques concepts liés à la programmation graphique
22320.3 Notion de fonctioncallback. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223
20.4 Prise en main du moduleTkinter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225
20.5 Construire une applicationTkinteravec une classe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
20.6 Lewidget canvas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .227
20.7 Pour aller plus loin
23220.8 Exercices
23721 Remarques complémentaires240
21.1 Différences Python 2 et Python 3
24021.2 Gestion des exceptions
24221.3 Shebang et /usr/bin/env python3
24521.4 Passage d"arguments avec*argset**kwargs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .245
21.5 Un peu de transformée de Fourier avecNumPy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .247
21.6 Sauvegardez votre historique de commandes
24722 Mini-projets249
22.1 Description des projets
24922.2 Accompagnement pas à pas
25022.3 Scripts de correction
264A Quelques formats de données rencontrés en biologie 266
A.1 FASTA
266A.2 GenBank
268A.3 PDB
26 9A.4 Format XML, CSV et TSV
275Cours de Python / Université Paris Cité / UFR Sciences du Vivant5 Table des matièresTable des matièresB Installation de Python280 B.1 Que recommande-t-on pour l"installation de Python? 280
B.2 Installation de Python avec Miniconda
280B.3 Utilisation de conda pour installer des modules complémentaires 290
B.4 Choisir un bon éditeur de texte
293B.5 Comment se mettre dans le bon répertoire dans le shell 295
B.6 Python web et mobile
2986Cours de Python / Université Paris Cité / UFR Sciences du Vivant
Avant-propos
Quelques mots sur l"origine de ce cours
Ce cours a été conçu à l"origine pour les étudiants débutants en programmation Python des filières de biologie et de
biochimie de l"université Paris Diderot - Paris 7, devenue Université Paris Cité1; et plus spécialement pour les étudiants du
master Biologie Informatique.Ce cours est basé sur la version 3 de Python, version recommandée par la communauté scientifique. Des références à
l"ancienne version, Python 2, seront néanmoins régulièrement apportées. Si vous relevez des erreurs à la lecture de ce document, merci de nous les signaler.Le cours est disponible en version HTML
2et PDF3.
Remerciements
Un grand merci à Sander
4duCentre for Molecular and Biomolecular Informaticsde Nijmegen aux Pays-Bas pour la
toute première version5de ce cours qui remonte à l"année 2003.
Nous remercions le professeur Philip Guo
6de l"UC San Diego, pour nous avoir autorisé à utiliser des copies d"écran de
son excellent sitePython Tutor7.Merci également à tous les contributeurs, occasionels ou réguliers : Jennifer Becq, Virginie Martiny, Romain Laurent,
Benoist Laurent, Benjamin Boyer, Hubert Santuz, Catherine Lesourd, Philippe Label, Rémi Cuchillo, Cédric Gageat, Philibert
Malbranche, Mikaël Naveau, Amélie Bacle, Alexandra Moine-Franel. Nous remercions aussi Denis Mestivier de qui nous nous sommes inspirés pour certains exercices.Enfin, merci à vous tous, les curieux de Python, qui avez été nombreux à nous envoyer des retours sur ce cours, à nous
suggérer des améliorations et à nous signaler des coquilles.De nombreuses personnes nous ont aussi demandé les corrections des exercices. Nous ne les mettons pas sur le site afin
d"éviter la tentation de les regarder trop vite, mais vous pouvez nous écrire et nous vous les enverrons.
Le livre
Ce cours est également publié aux éditions Dunod sous le titre " Programmation en Python pour les sciences de la vie
8».
Vous pouvez vous le procurer dans toutes les bonnes librairies.Afin de promouvoir le partage des connaissances et le logiciel libre, nos droits d"auteurs provenant de la vente de cet
ouvrage seront reversés à deux associations. Wikimédia France9qui s"occupe notamment de l"encyclopédie libre Wikipédia.
NumFOCUS
10qui soutient le développement de logiciels libres scientifiques et notamment l"écosystème scientifique autour
de Python.1.https://www.u-paris.fr/4.http://sander.nabuurs.org/
6.http://pgbovine.net/
7.http://pythontutor.com/
9.https://www.wikimedia.fr/
10.https://numfocus.org/
7 Table des matièresTable des matièresFIGURE1 - Couverture livre Dunod.8Cours de Python / Université Paris Cité / UFR Sciences du Vivant
Chapitre 1
Introduction
1.1 C"est quoi Python?
Le langage de programmation Python a été créé en 1989 par Guido van Rossum, aux Pays-Bas. Le nomPythonvient d"un
hommage à la série téléviséeMonty Python"s Flying Circusdont G. van Rossum est fan. La première version publique de ce
langage a été publiée en 1991.La dernière version de Python est la version 3. Plus précisément, la version 3.7 a été publiée en juin 2018. La version 2
de Python est désormais obsolète et cessera d"être maintenue après le 1er janvier 2020. Dans la mesure du possible évitez de
l"utiliser.LaPython Software Foundation1est l"association qui organise le développement de Python et anime la communauté de
développeurs et d"utilisateurs. Ce langage de programmation présente de nombreuses caractéristiques intéressantes :Il est multiplateforme. C"est-à-dire qu"il fonctionne sur de nombreux systèmes d"e xploitation: W indows,Mac OS X,
Linux, Android, iOS, depuis les mini-ordinateurs Raspberry Pi jusqu"aux supercalculateurs.Il est gratuit. V ouspouv ezl"installer sur autant d"ordinateurs que v ousv oulez(même sur v otretéléphone !).
C"est un lang agede haut ni veau.Il demande relati vementpeu de connaissance sur le fonctionnement d"un ordinateur
pour être utilisé.C"est un lang ageinterprété. Un script Python n"a pas besoin d"être compilé pour être e xécuté,contrairement à des
langages comme le C ou le C++.Il est orienté objet. C"est-à-dire qu"il est possible de conce voiren Python des entités qui miment celles du monde réel
(une cellule, une protéine, un atome, etc.) avec un certain nombre de règles de fonctionnement et d"interactions.
Il est relati vementsimpleà prendre en main2.
Enfin, il est très utilisé en bioinformatique et plus généralement en analyse de données.
Toutes ces caractéristiques font que Python est désormais enseigné dans de nombreuses formations, depuis l"enseignement
secondaire jusqu"à l"enseignement supérieur.1.2 Conseils pour installer et configurer Python
Pour apprendre la programmation Python, il va falloir que vous pratiquiez et pour cela il est préférable que Python soit
installé sur votre ordinateur. La bonne nouvelle est que vous pouvez installer gratuitement Python sur votre machine, que
ce soit sous Windows, Mac OS X ou Linux. Nous donnons dans cette rubrique un résumé des points importants concer-
nant cette installation. Tous les détails et la marche à suivre pas à pas sont donnés à l"adressehttps://python.sdv.
univ-paris-diderot.fr/livre-dunod.1.2.1 Python 2 ou Python 3?
Ce cours est basé sur laversion 3 de Python, qui est désormais le standard.1.https://www.python.org/psf/
2. Nous sommes d"accord, cette notion est très relative.
9Chapitre 1. Introduction1.3. Notations utiliséesSi, néanmoins, vous deviez un jour travailler sur un ancien programme écrit en Python 2, sachez qu"il existe quelques
différences importantes entre Python 2 et Python 3. Le chapitre 21Remarques complémentairesvous apportera plus de préci-
sions.1.2.2 Miniconda
Nous vous conseillons d"installer Miniconda
3, logiciel gratuit, disponible pour Windows, Mac OS X et Linux, et qui
installera pour vous Python 3.Avec le gestionnaire de paquetsconda, fourni avec Miniconda, vous pourrez installer des modules supplémentaires qui
sont très utiles en bioinformatique (NumPy,scipy,matplotlib,pandas,Biopython), mais également lesnotebooksJupyter.
Vous trouverez en ligne
4une documentation pas à pas pour installer Miniconda, Python 3 et les modules supplémentaires qui
seront utilisés dans ce cours.1.2.3 Éditeur de texte
L"apprentissage d"un langage informatique comme Python va nécessiter d"écrire des lignes de codes à l"aide d"un éditeur
de texte. Si vous êtes débutants, on vous conseille d"utilisernotepad++sous Windows,BBEditouCotEditorsous Mac OS X
etgeditsous Linux. La configuration de ces éditeurs de texte est détaillée dans la rubriqueInstallation de Pythondisponible
en ligne5. Bien sûr, si vous préférez d"autres éditeurs commeAtom,Visual Studio Code,Sublime Text,emacs,vim,geany...
utilisez-les!À toute fin utile, on rappelle que les logicielsMicrosoft Word,WordPadetLibreOffice Writerne sont pas des éditeurs de
texte, ce sont des traitements de texte qui ne peuvent pas et ne doivent pas être utilisés pour écrire du code informatique.
1.3 Notations utilisées
Dans cet ouvrage, les commandes, les instructions Python, les résultats et les contenus de fichiers sont indiqués aveccette
policepour les éléments ponctuels ou1sous cette forme ,2sur plusieurs lignes ,3pour les éléments les plus longs.
Pour ces derniers, le numéro à gauche indique le numéro de la ligne et sera utilisé pour faire référence à une instruction
particulière. Ce numéro n"est bien sûr là qu"à titre indicatif.Par ailleurs, dans le cas de programmes, de contenus de fichiers ou de résultats trop longs pour être inclus dans leur
intégralité, la notation[...]indique une coupure arbitraire de plusieurs caractères ou lignes.
1.4 Introduction aushell
Unshellest un interpréteur de commandes interactif permettant d"interagir avec l"ordinateur. On utilisera leshellpour
quotesdbs_dbs22.pdfusesText_28