[PDF] cours-python.pdf 22 mars 2018 2.11





Previous PDF Next PDF



Guide de lévaluation des apprentissages et des acquis des élèves

Éducation physique et sportive (voie générale et voie technologique) . On trouvera en annexe un point sur les attendus des exercices du baccalauréat ...



Tome 1 pollution (15 juillet)

15 juil. 2022 Promouvoir la technologie du moteur électrique pour le roulage des ... point. Mais la pollution de l'air dans notre pays est pour les deux ...



CADRE EUROPEEN COMMUN DE REFERENCE POUR LES

Le Chapitre 7 est consacré à un examen du rôle des tâches dans l'enseignement et l'apprentissage des langues domaine de pointe dans les dernières années.



BACCALAUREAT PROFESSIONNEL METIERS DU COMMERCE

Conditions générales d'exercice. L'activité du titulaire du Liste des opérations de transport en cours ... La carte de visite du point de vente



passerelle-2007.pdf

Les candidats titulaires d'un diplôme universitaire de technologie ou d'un brevet Tout candidat ayant suivi des cours d'anglais durant sa scolarité ...



Prévention et dépistage du diabète de type 2 et des maladies liées

Actualisation du référentiel de pratiques de l'examen périodique de santé Au cours de l'année 2009 le taux brut de mortalité des personnes traitées ...



cours-python.pdf

22 mars 2018 2.11 Exercices . ... Le cours est disponible en version HTML 2 et PDF 3. ... de commande (prompt en anglais) de l'interpréteur Python.



Livret CEAD L1 Anglais 2018-2019

Coordinatrice pédagogique de la licence d'anglais à distance théorique du cours magistral et dans lequel figurent des exercices d'application.



10 ans dannales corrigées aux épreuves danglais des Grandes

tous les sujets d'un point de vue actuel c'est-à-dire en intégrant des éléments jusqu'au Technologie et Sciences de l'Ingénieur à Saint Aubin.



Guide pour la rédaction dun travail universitaire de 1er 2e et 3e

Exemples à partir d'un texte publié en anglais . Une étudiante ou un étudiant qui rédige un travail plus court pourrait simplifier la partie sur le ...

Cours de Python

Introduction à la programmation Python pour la biologie

https://python.sdv.univ-paris-diderot.fr/Patrick FuchsetPierre Poulainprénom [point] nom [arobase] u-paris [point] fr

version du 1 eraoût 2023

Université 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

7

Remerciements

7

Le livre

7

1 Introduction9

1.1 C"est quoi Python?

9

1.2 Conseils pour installer et configurer Python

9

1.3 Notations utilisées

10

1.4 Introduction aushell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

1.5 Premier contact avec Python

11

1.6 Premier programme

12

1.7 Commentaires

12

1.8 Notion de bloc d"instructions et d"indentation

13

1.9 Autres ressources

13

2 Variables14

2.1 Définition

14

2.2 Les types de variables

14

2.3 Nommage

15

2.4 Écriture scientifique

15

2.5 Opérations

16

2.6 La fonctiontype(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17

2.7 Conversion de types

17

2.8 Note sur la division de deux nombres entiers

18

2.9 Note sur le vocabulaire et la syntaxe

18

2.10 Minimum et maximum

18

2.11 Exercices

19

3 Affichage20

3.1 La fonctionprint(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20

3.2 Écriture formatée

21

3.3 Écriture scientifique

24

3.4 Ancienne méthode de formatage des chaînes de caractères

24

3.5 Note sur le vocabulaire et la syntaxe

26

3.6 Exercices

26

4 Listes28

4.1 Définition

28

4.2 Utilisation

28

4.3 Opération sur les listes

28

4.4 Indiçage négatif

29

4.5 Tranches

29

4.6 Fonctionlen(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30

2

Table des matièresTable des matières4.7 Les fonctionsrange()etlist(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30

4.8 Listes de listes

31

4.9 Minimum, maximum et somme d"une liste

31

4.10 Exercices

32

5 Boucles et comparaisons33

5.1 Bouclesfor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33

5.2 Comparaisons

36

5.3 Boucleswhile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37

5.4 Exercices

37

6 Tests42

6.1 Définition

42

6.2 Tests à plusieurs cas

42

6.3 Importance de l"indentation

43

6.4 Tests multiples

43

6.5 Instructionsbreaketcontinue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44

6.6 Tests de valeur sur desfloats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45

6.7 Exercices

45

7 Fichiers50

7.1 Lecture dans un fichier

50

7.2 Écriture dans un fichier

52

7.3 Ouvrir deux fichiers avec l"instructionwith. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53

7.4 Note sur les retours à la ligne sous Unix et sous Windows

53

7.5 Importance des conversions de types avec les fichiers

54

7.6 Du respect des formats de données et de fichiers

54

7.7 Exercices

54

8 Modules57

8.1 Définition

57

8.2 Importation de modules

57

8.3 Obtenir de l"aide sur les modules importés

58

8.4 Quelques modules courants

60

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

63

9 Fonctions66

9.1 Principe et généralités

66

9.2 Définition

67

9.3 Passage d"arguments

68

9.4 Renvoi de résultats

68

9.5 Arguments positionnels et arguments par mot-clé

68

9.6 Variables locales et variables globales

70

9.7 Principe DRY

73

9.8 Exercices

74

10 Plus sur les chaînes de caractères78

10.1 Préambule

78

10.2 Chaînes de caractères et listes

78

10.3 Caractères spéciaux

79

10.4 Préfixe de chaîne de caractères

79

10.5 Méthodes associées aux chaînes de caractères

80

10.6 Extraction de valeurs numériques d"une chaîne de caractères

82
Cours 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

83

11 Plus sur les listes88

11.1 Méthodes associées aux listes

88

11.2 Construction d"une liste par itération

90

11.3 Test d"appartenance

91

11.4 Copie de listes

91

11.5 Liste de compréhension

92

11.6 Exercices

93

12 Plus sur les fonctions96

12.1 Appel d"une fonction dans une fonction

96

12.2 Fonctions récursives

97

12.3 Portée des variables

98

12.4 Portée des listes

99

12.5 Règle LGI

10 0

12.6 Recommandations

101

12.7 Exercices

10 2

13 Containers, dictionnaires, tuples etsets104

13.1 Containers

10 4

13.2 Dictionnaires

107

13.3 Tuples

111

13.4Setsetfrozensets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .116

13.5 Récapitulation des propriétés des containers

119

13.6 Dictionnaires etsetsde compréhension. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

13.7 Modulecollections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120

13.8 Exercices

12 0

14 Création de modules123

14.1 Pourquoi créer ses propres modules?

123

14.2 Création d"un module

123

14.3 Utilisation de son propre module

124

14.4 Lesdocstrings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124

14.5 Visibilité des fonctions dans un module

125

14.6 Module ou script?

125

14.7 Exercice

12 6

15 Bonnes pratiques en programmation Python

127

15.1 De la bonne syntaxe avec la PEP 8

127

15.2 Lesdocstringset la PEP 257. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

15.3 Outils de contrôle qualité du code

133

15.4 Organisation du code

134

15.5 Conseils sur la conception d"un script

136

15.6 Pour terminer : la PEP 20

136

16 Expressions régulières etparsing138

16.1 Définition et syntaxe

138

16.2 Quelques ressources en ligne

140

16.3 Le modulere. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140

16.4 Exercices

142

4Cours de Python / Université Paris Cité / UFR Sciences du Vivant

Table des matièresTable des matières17 Quelques modules d"intérêt en bioinformatique145

17.1 ModuleNumPy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .145

17.2 ModuleBiopython. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158

17.3 Modulematplotlib. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160

17.4 Modulepandas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164

17.5 Un exemple plus complet

168

17.6 Exercices

17 4

18 Jupyter et ses notebooks179

18.1 Installation

179

18.2 Lancement de Jupyter et création d"un notebook

179

18.3 Le format Markdown

182

18.4 Des graphiques dans les notebooks

184

18.5 Lesmagic commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187

18.6 JupyterLab

18 7

19 Avoir la classe avec les objets191

19.1 Construction d"une classe

191

19.2 Espace de noms

202

19.3 Polymorphisme

205

19.4 Héritage

207

19.5 Accès et modifications des attributs depuis l"extérieur

212

19.6 Bonnes pratiques pour construire et manipuler ses classes

216

19.7 Exercices

221

20 Fenêtres graphiques etTkinter222

20.1 Utilité d"une GUI

222

20.2 Quelques concepts liés à la programmation graphique

223

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

232

20.8 Exercices

237

21 Remarques complémentaires240

21.1 Différences Python 2 et Python 3

240

21.2 Gestion des exceptions

242

21.3 Shebang et /usr/bin/env python3

245

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

247

22 Mini-projets249

22.1 Description des projets

249

22.2 Accompagnement pas à pas

250

22.3 Scripts de correction

264
A Quelques formats de données rencontrés en biologie 266

A.1 FASTA

266

A.2 GenBank

268

A.3 PDB

26 9

A.4 Format XML, CSV et TSV

275
Cours 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

280
B.3 Utilisation de conda pour installer des modules complémentaires 290

B.4 Choisir un bon éditeur de texte

293
B.5 Comment se mettre dans le bon répertoire dans le shell 295

B.6 Python web et mobile

298

6Cours 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 version

5de 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 France

9qui 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.11 a été publiée en octobre 2022. La version

2 de Python est obsolète et n"est plus maintenue, é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, du lycée à l"enseigne-

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

quotesdbs_dbs42.pdfusesText_42
[PDF] ? la recherche du nombre d'or Chapitre des dérivations 1ère Mathématiques

[PDF] ? la suite de linguee PDF Cours,Exercices ,Examens

[PDF] ? la suite de synonyme PDF Cours,Exercices ,Examens

[PDF] ? laquelle ou auxquelles 1ère Français

[PDF] ? même de pluriel PDF Cours,Exercices ,Examens

[PDF] ? Musafa Trk Bac +5 Autre

[PDF] ? necdote 4ème Français

[PDF] ? nnecdote 4ème Français

[PDF] ? ou de devant un nom propre PDF Cours,Exercices ,Examens

[PDF] ? part en tiers PDF Cours,Exercices ,Examens

[PDF] ? part entière anglais PDF Cours,Exercices ,Examens

[PDF] ? part entière en arabe PDF Cours,Exercices ,Examens

[PDF] ? part entière pluriel PDF Cours,Exercices ,Examens

[PDF] ? partir d'aujourd'hui demain nous appartient PDF Cours,Exercices ,Examens

[PDF] ? partir d'aujourd'hui en anglais PDF Cours,Exercices ,Examens