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 19 avril 2012
DSIMB
Inserm UMR_S 665 et Université Paris Diderot-Paris 7
Institut National de la Transfustion Sanguine (INTS)
75015 Paris, France
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 Exercices .......................................... 34
8 Modules 35
8.1 Définition ......................................... 35
8.2 Importation de modules ................................. 35
8.3 Obtenir de l’aide sur les modules importés ...................... 36
8.4 Modules courants ..................................... 37
8.5 Module sys : passage d’arguments ........................... 37
8.6 Module os ......................................... 38
Cours de Python / Université Paris Diderot - Paris 7 / UFR Sciences du Vivant 3
Table des matières Table des matières
8.7 Exercices .......................................... 39
9 Plus sur les chaînes de caractères 41
9.1 Préambule ......................................... 41
9.2 Chaînes de caractères et listes .............................. 41
9.3 Caractères spéciaux .................................... 41
9.4 Méthodes associées aux chaînes de caractères ..................... 42
9.5 Conversion de types ................................... 44
9.6 Conversion d’une liste de chaînes de caractères en une chaîne de caractères . . . 44
9.7 Exercices .......................................... 45
10 Plus sur les listes 47
10.1 Propriétés des listes .................................... 47
10.2 Test d’appartenance .................................... 48
10.3 Copie de listes ....................................... 48
10.4 Exercices .......................................... 50
11 Dictionnaires et tuples 51
11.1 Dictionnaires ........................................ 51
11.2 Tuples ............................................ 52
11.3 Exercices .......................................... 53
12 Fonctions 54
12.1 Principe ........................................... 54
12.2 Définition ......................................... 54
12.3 Passage d’arguments ................................... 55
12.4 Portée des variables .................................... 56
12.5 Portée des listes ...................................... 57
12.6 Règle LGI .......................................... 58
12.7 Exercices .......................................... 59
13 Expressions régulières et parsing 61
13.1 Définition et syntaxe ................................... 61
13.2 Module re et fonction search ............................... 62
13.3 Exercices : extraction des gènes d’un fichier genbank ................. 65
14 Création de modules 66
14.1 Création .......................................... 66
14.2 Utilisation ......................................... 66
14.3 Exercices .......................................... 67
15 Autres modules d’intérêt 68
15.1 Module urllib2 ....................................... 68
15.2 Module pickle ....................................... 69
15.2.1 Codage des données ............................... 69
15.2.2 Décodage des données .............................. 70
15.3 Exercices .......................................... 70
16 Modules d’intérêt en bioinformatique 71
16.1 Module numpy ...................................... 71
16.1.1 Objets de type array ............................... 71
16.1.2 Un peu d’algèbre linéaire ............................ 75
16.1.3 Un peu de transformée de Fourier ....................... 75
4Cours de Python / Université Paris Diderot - Paris 7 / UFR Sciences du Vivant
Table des matières Table des matières
16.2 Module biopython .................................... 76
16.3 Module matplotlib .................................... 77
16.4 Module rpy ........................................ 79
16.5 Exercice numpy ...................................... 81
16.6 Exercice rpy ........................................ 82
17 Avoir la classe avec les objets 83
17.1 Exercices .......................................... 83
18 Gestion des erreurs 84
19 Trucs et astuces 87
19.1 Shebang et /usr/bin/env python ............................ 87
19.2 Python et utf-8 ....................................... 87
19.3 Vitesse d’itération dans les boucles ........................... 87
19.4 Liste de compréhension ................................. 88
19.5 Sauvegardez votre historique de commandes ..................... 89
Cours de Python / Université Paris Diderot - Paris 7 / UFR Sciences du Vivant 5
1 / 89 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 !