Cours de Python - UFR de Mathématiques et Informatique

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 26 août 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, 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
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 .......................................... 24
6 Tests 27
6.1 Définition ......................................... 27
6.2 Tests à plusieurs cas .................................... 27
6.3 Tests multiples ....................................... 28
6.4 Instructions break et continue .............................. 29
6.5 Exercices .......................................... 30
7 Fichiers 32
7.1 Lecture dans un fichier .................................. 32
7.2 Écriture dans un fichier .................................. 34
7.3 Méthode optimisée d’ouverture et de fermeture de fichier .............. 35
7.4 Exercices .......................................... 35
8 Modules 37
8.1 Définition ......................................... 37
8.2 Importation de modules ................................. 37
8.3 Obtenir de l’aide sur les modules importés ...................... 38
8.4 Modules courants ..................................... 39
8.5 Module sys : passage d’arguments ........................... 39
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 ......................................... 40
8.7 Exercices .......................................... 41
9 Plus sur les chaînes de caractères 43
9.1 Préambule ......................................... 43
9.2 Chaînes de caractères et listes .............................. 43
9.3 Caractères spéciaux .................................... 43
9.4 Méthodes associées aux chaînes de caractères ..................... 44
9.5 Conversion de types ................................... 46
9.6 Conversion d’une liste de chaînes de caractères en une chaîne de caractères . . . 46
9.7 Exercices .......................................... 47
10 Plus sur les listes 49
10.1 Propriétés des listes .................................... 49
10.2 Test d’appartenance .................................... 50
10.3 Copie de listes ....................................... 50
10.4 Exercices .......................................... 52
11 Dictionnaires et tuples 53
11.1 Dictionnaires ........................................ 53
11.2 Tuples ............................................ 54
11.3 Exercices .......................................... 55
12 Fonctions 56
12.1 Principe ........................................... 56
12.2 Définition ......................................... 56
12.3 Passage d’arguments ................................... 57
12.4 Portée des variables .................................... 58
12.5 Portée des listes ...................................... 59
12.6 Règle LGI .......................................... 60
12.7 Exercices .......................................... 61
13 Expressions régulières et parsing 63
13.1 Définition et syntaxe ................................... 63
13.2 Module re et fonction search ............................... 64
13.3 Exercices : extraction des gènes d’un fichier genbank ................. 67
14 Création de modules 68
14.1 Création .......................................... 68
14.2 Utilisation ......................................... 68
14.3 Exercices .......................................... 69
15 Autres modules d’intérêt 70
15.1 Module urllib2 ....................................... 70
15.2 Module pickle ....................................... 71
15.2.1 Codage des données ............................... 71
15.2.2 Décodage des données .............................. 72
15.3 Exercices .......................................... 72
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 73
16.1 Module numpy ...................................... 73
16.1.1 Objets de type array ............................... 73
16.1.2 Un peu d’algèbre linéaire ............................ 77
16.1.3 Un peu de transformée de Fourier ....................... 77
16.2 Module biopython .................................... 78
16.3 Module matplotlib .................................... 79
16.4 Module rpy ........................................ 81
16.5 Exercice numpy ...................................... 83
16.6 Exercice rpy ........................................ 84
17 Avoir la classe avec les objets 85
17.1 Exercices .......................................... 85
18 Gestion des erreurs 86
19 Trucs et astuces 89
19.1 Shebang et /usr/bin/env python ............................ 89
19.2 Python et utf-8 ....................................... 89
19.3 Vitesse d’itération dans les boucles ........................... 89
19.4 Liste de compréhension ................................. 90
19.5 Sauvegardez votre historique de commandes ..................... 91
Cours de Python / Université Paris Diderot - Paris 7 / UFR Sciences du Vivant 5
1 / 15 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 !