Cours de Python
http://www.dsimb.inserm.fr/~fuchs/python/
Patrick Fuchs et Pierre Poulain
prénom [point] nom [arobase] univ-paris-diderot [point] fr
version du 3 septembre 2016
Université Paris Diderot-Paris 7, Paris, France
Institut Jacques Monod (CNRS UMR 7592) et DSIMB (INSERM UMR_S 665)
Ce document est sous licence Creative Commons BY-SA
http://creativecommons.org/licenses/by-sa/2.0/fr/
Bienvenue au cours de Python !
Ce cours a été conçu à l’origine pour les étudiants débutants en programmation Python des
filières biologie et biochimie de l’Université Paris Diderot - Paris 7 ; et plus spécialement pour
les étudiants du master Biologie Informatique.
Ce cours est basé sur la version 2.7 de Python, version que l’on trouve par défaut dans les
distributions Linux actuelles (comme Ubuntu 16.04). Le cours sera mis à jour vers la version 3.x
de Python dans les prochains mois (dès que Python 3 sera le standard dans les distributions Li-
nux). Nous avons ajouté un paragraphe dans l’introduction traitant des principales différences
entre Python 2 et Python 3 .
Si vous relevez des erreurs à la lecture de ce document, merci de nous les signaler.
Le cours est disponible en version HTML et PDF.
Remerciements
Un grand merci à Sander du CMBI de Nijmegen pour la première version de ce cours.
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. 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 corrections 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.
2Cours de Python / Université Paris Diderot - Paris 7 / UFR Sciences du Vivant
Table des matières Table des matières
Table des matières
1 Introduction 6
1.1 Avant de commencer ................................... 6
1.2 Premier contact avec Python sous Linux ........................ 6
1.3 Premier programme Python ............................... 7
1.4 Commentaires ....................................... 8
1.5 Séparateur d’instructions ................................. 8
1.6 Notion de bloc d’instructions et d’indentation .................... 8
1.7 Python 2 ou Python 3 ? .................................. 9
2 Variables 11
2.1 Types ............................................ 11
2.2 Nommage ......................................... 11
2.3 Opérations ......................................... 12
3 Écriture 14
3.1 Écriture formatée ..................................... 14
3.2 Ancienne méthode de formatage des chaines de caractères ............. 16
3.3 Exercices .......................................... 17
4 Listes 18
4.1 Définition ......................................... 18
4.2 Utilisation ......................................... 18
4.3 Opération sur les listes .................................. 18
4.4 Indiçage négatif et tranches ............................... 19
4.5 Fonctions range et len .................................. 20
4.6 Listes de listes ....................................... 21
4.7 Exercices .......................................... 21
5 Boucles et comparaisons 23
5.1 Boucles for ......................................... 23
5.2 Comparaisons ....................................... 25
5.3 Boucles while ....................................... 26
5.4 Exercices .......................................... 27
6 Tests 31
6.1 Définition ......................................... 31
6.2 Tests à plusieurs cas .................................... 31
6.3 Tests multiples ....................................... 32
6.4 Instructions break et continue .............................. 33
6.5 Exercices .......................................... 34
7 Fichiers 37
7.1 Lecture dans un fichier .................................. 37
7.2 Écriture dans un fichier .................................. 39
7.3 Méthode optimisée d’ouverture et de fermeture de fichier .............. 40
7.4 Exercices .......................................... 40
Cours de Python / Université Paris Diderot - Paris 7 / UFR Sciences du Vivant 3
Table des matières Table des matières
8 Modules 42
8.1 Définition ......................................... 42
8.2 Importation de modules ................................. 42
8.3 Obtenir de l’aide sur les modules importés ...................... 43
8.4 Modules courants ..................................... 44
8.5 Module sys : passage d’arguments ........................... 45
8.6 Module os ......................................... 45
8.7 Exercices .......................................... 46
9 Plus sur les chaînes de caractères 48
9.1 Préambule ......................................... 48
9.2 Chaînes de caractères et listes .............................. 48
9.3 Caractères spéciaux .................................... 48
9.4 Méthodes associées aux chaînes de caractères ..................... 49
9.5 Conversion de types ................................... 51
9.6 Conversion d’une liste de chaînes de caractères en une chaîne de caractères . . . 51
9.7 Exercices .......................................... 52
10 Plus sur les listes 54
10.1 Propriétés des listes .................................... 54
10.2 Test d’appartenance .................................... 55
10.3 Copie de listes ....................................... 55
10.4 Exercices .......................................... 57
11 Dictionnaires et tuples 58
11.1 Dictionnaires ........................................ 58
11.2 Tuples ............................................ 59
11.3 Exercices .......................................... 60
12 Fonctions 61
12.1 Principe ........................................... 61
12.2 Définition ......................................... 61
12.3 Passage d’arguments ................................... 62
12.4 Portée des variables .................................... 63
12.5 Portée des listes ...................................... 64
12.6 Règle LGI .......................................... 65
12.7 Exercices .......................................... 66
13 Création de modules 68
13.1 Création .......................................... 68
13.2 Utilisation ......................................... 68
13.3 Exercices .......................................... 69
14 Expressions régulières et parsing 70
14.1 Définition et syntaxe ................................... 70
14.2 Module re et fonction search ............................... 71
14.3 Exercices : extraction des gènes d’un fichier gbk ................... 74
15 Autres modules d’intérêt 75
15.1 Module urllib2 ....................................... 75
15.2 Module pickle ....................................... 76
15.2.1 Codage des données ............................... 76
15.2.2 Décodage des données .............................. 77
4Cours de Python / Université Paris Diderot - Paris 7 / UFR Sciences du Vivant
Table des matières Table des matières
15.3 Exercices .......................................... 77
16 Modules d’intérêt en bioinformatique 78
16.1 Module numpy ...................................... 78
16.1.1 Objets de type array ............................... 78
16.1.2 Un peu d’algèbre linéaire ............................ 82
16.1.3 Un peu de transformée de Fourier ....................... 82
16.2 Module biopython .................................... 83
16.3 Module matplotlib .................................... 84
16.4 Module rpy ........................................ 86
16.5 Exercice numpy ...................................... 88
16.6 Exercice rpy ........................................ 89
17 Avoir la classe avec les objets 90
17.1 Exercices .......................................... 90
18 Gestion des erreurs 91
19 Trucs et astuces 94
19.1 Shebang et /usr/bin/env python ............................ 94
19.2 Python et utf-8 ....................................... 94
19.3 Vitesse d’itération dans les boucles ........................... 94
19.4 Liste de compréhension ................................. 95
19.5 Sauvegardez votre historique de commandes ..................... 96
Cours de Python / Université Paris Diderot - Paris 7 / UFR Sciences du Vivant 5
1 / 97 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !