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 24 mars 2014
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 les versions 2.x de Python et ne prend pas en compte, pour l’instant, les
nouvelles versions 3.x. Néanmoins, nous essaierons de le mettre rapidement à jour de manière
à traiter la compatibilité entre les deux générations. 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. Nous re-
mercions 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
2 Variables 10
2.1 Types ............................................ 10
2.2 Nommage ......................................... 11
2.3 Opérations ......................................... 11
3 Écriture 13
3.1 Écriture formatée ..................................... 13
3.2 Exercices .......................................... 15
4 Listes 16
4.1 Définition ......................................... 16
4.2 Utilisation ......................................... 16
4.3 Opération sur les listes .................................. 16
4.4 Indiçage négatif et tranches ............................... 17
4.5 Fonctions range et len .................................. 18
4.6 Listes de listes ....................................... 18
4.7 Exercices .......................................... 19
5 Boucles et comparaisons 20
5.1 Boucles for ......................................... 20
5.2 Comparaisons ....................................... 22
5.3 Boucles while ....................................... 23
5.4 Exercices .......................................... 23
6 Tests 26
6.1 Définition ......................................... 26
6.2 Tests à plusieurs cas .................................... 26
6.3 Tests multiples ....................................... 27
6.4 Instructions break et continue .............................. 28
6.5 Exercices .......................................... 29
7 Fichiers 31
7.1 Lecture dans un fichier .................................. 31
7.2 Écriture dans un fichier .................................. 33
7.3 Méthode optimisée d’ouverture et de fermeture de fichier .............. 34
7.4 Exercices .......................................... 34
8 Modules 36
8.1 Définition ......................................... 36
8.2 Importation de modules ................................. 36
8.3 Obtenir de l’aide sur les modules importés ...................... 37
8.4 Modules courants ..................................... 38
8.5 Module sys : passage d’arguments ........................... 38
Cours de Python / Université Paris Diderot - Paris 7 / UFR Sciences du Vivant 3
Table des matières Table des matières
8.6 Module os ......................................... 39
8.7 Exercices .......................................... 40
9 Plus sur les chaînes de caractères 42
9.1 Préambule ......................................... 42
9.2 Chaînes de caractères et listes .............................. 42
9.3 Caractères spéciaux .................................... 42
9.4 Méthodes associées aux chaînes de caractères ..................... 43
9.5 Conversion de types ................................... 45
9.6 Conversion d’une liste de chaînes de caractères en une chaîne de caractères . . . 45
9.7 Exercices .......................................... 46
10 Plus sur les listes 48
10.1 Propriétés des listes .................................... 48
10.2 Test d’appartenance .................................... 49
10.3 Copie de listes ....................................... 49
10.4 Exercices .......................................... 51
11 Dictionnaires et tuples 52
11.1 Dictionnaires ........................................ 52
11.2 Tuples ............................................ 53
11.3 Exercices .......................................... 54
12 Fonctions 55
12.1 Principe ........................................... 55
12.2 Définition ......................................... 55
12.3 Passage d’arguments ................................... 56
12.4 Portée des variables .................................... 57
12.5 Portée des listes ...................................... 58
12.6 Règle LGI .......................................... 59
12.7 Exercices .......................................... 60
13 Expressions régulières et parsing 62
13.1 Définition et syntaxe ................................... 62
13.2 Module re et fonction search ............................... 63
13.3 Exercices : extraction des gènes d’un fichier genbank ................. 66
14 Création de modules 67
14.1 Création .......................................... 67
14.2 Utilisation ......................................... 67
14.3 Exercices .......................................... 68
15 Autres modules d’intérêt 69
15.1 Module urllib2 ....................................... 69
15.2 Module pickle ....................................... 70
15.2.1 Codage des données ............................... 70
15.2.2 Décodage des données .............................. 71
15.3 Exercices .......................................... 71
4Cours de Python / Université Paris Diderot - Paris 7 / UFR Sciences du Vivant
Table des matières Table des matières
16 Modules d’intérêt en bioinformatique 72
16.1 Module numpy ...................................... 72
16.1.1 Objets de type array ............................... 72
16.1.2 Un peu d’algèbre linéaire ............................ 76
16.1.3 Un peu de transformée de Fourier ....................... 76
16.2 Module biopython .................................... 77
16.3 Module matplotlib .................................... 78
16.4 Module rpy ........................................ 80
16.5 Exercice numpy ...................................... 82
16.6 Exercice rpy ........................................ 83
17 Avoir la classe avec les objets 84
17.1 Exercices .......................................... 84
18 Gestion des erreurs 85
19 Trucs et astuces 88
19.1 Shebang et /usr/bin/env python ............................ 88
19.2 Python et utf-8 ....................................... 88
19.3 Vitesse d’itération dans les boucles ........................... 88
19.4 Liste de compréhension ................................. 89
19.5 Sauvegardez votre historique de commandes ..................... 90
Cours de Python / Université Paris Diderot - Paris 7 / UFR Sciences du Vivant 5
1 / 90 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 !