Python : des fondamentaux aux concepts avancés du langage
Bien programmer en Python : écrire rapidement des programmes efficaces, faciles à comprendre et à maintenir, en exploitant pleinement les possibilités du langage.
6 novembre 2017
80h
Français
CC BY NC ND
Description du cours
Dans ce cours, vous apprendrez à bien programmer en Python.
On vous mènera des premiers pas dans le langage à l'étude des concepts les plus évolués, au travers de nombreuses vidéos courtes, de notebooks et d'exercices auto-évalués.
Python possède de nombreuses librairies qui font déjà probablement ce que vous souhaitez. Vous pouvez créer un site Web avec Django, faire du calcul scientifique avec NumPy et pandas, et bien plus encore. Cependant pour exploiter pleinement toutes les possibilités de ce riche écosystème, vous devez acquérir une profonde compréhension du langage.
Le langage Python encourage une programmation intuitive qui repose sur une syntaxe naturelle et des concepts fondamentaux puissants qui facilitent la programmation. Il est important de bien maîtriser ces concepts pour écrire rapidement des programmes efficaces, faciles à comprendre et à maintenir, et qui exploitent pleinement les possibilités du langage.
On couvrira dans ce cours tous les aspects du langage, des types de base aux méta-classes, mais on l'articulera autour des concepts fondamentaux qui font la force de Python :
- le concept de typage dynamique et de références partagées qui permet une programmation rapide, facilement extensible et économe en mémoire ;
- le concept d'espace de nommage qui permet une programmation plus sûre, minimisant les interactions non souhaitées entre différentes parties d'un programme ;
- le concept d'itérateur qui permet une programmation naturelle et intuitive, où parcourir un fichier ne prend qu'une ligne de code ;
- le concept de vectorisation pour atteindre d'excellentes performances dans les applications de calcul scientifique
Ce MOOC étudie Python 3 ; c'est une version remaniée, améliorée et augmentée du MOOC Inria "Python: des fondamentaux à l'utilisation du langage" qui était orienté sur la version 2.7 du langage.
Objectifs du cours
À la fin de ce cours, vous saurez :
- maîtriser les fondamentaux du langage
- et les utiliser pour exploiter toute la puissance de Python
A qui s’adresse ce cours ?
Ce MOOC s'adresse aussi bien à des programmeurs confirmés qui veulent découvrir et approfondir Python qu'à des débutants en programmation de niveau licence scientifique, c'est-à-dire avec des bases en informatique, une familiarité avec certaines notions mathématiques comme les variables et les fonctions, des notions d'algorithmique et une bonne capacité d'abstraction. Cependant, nous sommes convaincus qu'une forte motivation et beaucoup de travail peuvent remplacer ces pré-requis.
Plan du cours
Le Mooc est organisé en neuf semaines (les semaines 7 à 9 sont optionnelles, cad non évaluées) :
- Tronc commun :
- Semaine 1 : Introduction au MOOC et aux outils Python
- Semaine 2 : Découverte des types builtins
- Semaine 3 : Types builtins (suite), introduction aux modules et classes
- Semaine 4 : Fonctions
- Semaine 5 : Itération et importation
- Semaine 6 : Conception des classes
- Semaines optionnelles
- Semaine 7 : L'ecosystème data science Python
- Semaine 8 : Programmation asynchrone / asyncio
- Semaine 9 : Sujets avancés de Python
Équipe pédagogique
Auteurs :
- Arnaud Legout, chargé de recherche, Inria
- Thierry Parmentelat, ingénieur de recherche, Inria
Accompagnement pédagogique :
- Marie-Hélène Comte, ingénieure pédagogique, Inria Learning Lab
Partenaires
Ce Mooc a été produit par Inria, avec le soutien de l'Université Côte d'Azur (UCA).