Outils pour utilisateurs

Outils du site


cours:informatique:fun_mooc:python3_uca_inria:000_start

Python3: cours de l'Université Côte d'Azur

Le cours disponible est sur FUN MOOC, il s' intitule “Python 3: des fondamentaux aux concepts avancés du langage”. Il est proposé par l' Inria et l' Université Côte d'Azur.

Semaine 1: Introduction au MOOC et aux outils Python

Semaine 2: Notions de base pour écrire son premier programme en Python

Cette séquence aborde les chaînes de caractères et des listes. Nous en profiterons d'ailleurs lorsque nous parlerons des chaînes de caractères, pour expliquer ce que sont les notions de codage, décodage, jeux de caractères et Unicode. Ce sont des notions fondamentales que vous devez maîtriser dès que vous manipulez des chaînes de caractères. Ensuite nous parlerons des objets séquences dont les chaînes de caractères et les listes font d'ailleurs partie. Dans la deuxième partie de cette semaine, nous couvrirons un certain nombre de sujets très importants pour commencer à faire vos premiers programmes. Nous parlerons notamment de tests if else, nous parlerons de compréhensions de liste, de fonctions et de modules. Également nous couvrirons la boucle for. Nous ne ferons que des introductions très rapides ; notre objectif est de pouvoir vous permettre, dès cette section, de commencer à écrire de vrais petits programmes.

Semaine 3: Renforcement des notions de base, références partagées

Cette séquence aborde la gestion des fichiers et de nouveaux types built-in que sont les tuples, les dictionnaires et les sets. Nous introduirons également la gestion des erreurs avec les exceptions et nous parlerons d'un concept central en Python, le concept de références partagées. Pour finir, nous vous ferons une rapide introduction des classes pour vous montrer la puissance de Python et surtout que vous pouvez créer vos propres objets qui se manipulent exactement comme les types built-in.

Semaine 4: Fonctions et portée des variables

Cette séquence introduit l'instruction while, nous allons revenir sur l'instruction if, mais le l'essentiel de la séquence portera sur les fonctions. Nous allons en particulier parler de la notion de portée de variable et nous allons voir comment modifier cette portée. Nous conclurons la séquence en étudiant comment définir les paramètres d'une fonction et les différentes manières d'appeler une fonction.

Semaine 5: Itération, importation et espace de nommage

Cette séquence aborde deux notions clés en Python: la notion d'itérateur et d'espace de nommage. Les itérateurs sont ce qui vous permet de parcourir les objets de manière simple et intuitive. Et les espaces de nommage vous permettent d'isoler les variables dans les objets tout en vous gardant la possibilité d'accéder aux attributs de n'importe quel objet avec une notation simple et explicite.

Semaine 6: Conception des classes

La programmation objet est un paradigme de programmation qui est puissant et souple, mais qui vient au prix d'un effort de conception supplémentaire. Cependant, comme en Python tout est un objet, vous pouvez très rapidement tirer pleinement parti de ce paradigme de programmation. Avant de pouvoir le maîtriser, il faut connaître un certain nombre de notions comme la notion de classe, d'instance, de méthode, la notion de méthode spéciale et la notion d'héritage. Dans cette séquence, nous allons couvrir ces différentes notions. Nous expliquerons comment, en exploitant ce paradigme de programmation objet, vous pouvez créer vos propres itérateurs, vos propres exceptions et également vos propres context managers.

Semaine 7: Écosystème data science Python

Dans cette séquence, nous introduisons l'écosystème *data science* en Python, qui est un écosystème en pleine effervescence et extrêmement actif. D'ailleurs, cet écosystème contribue très largement au succès de cette discipline.

  • Présentation générale
  • Numpy: le type ndarray
  • Numpy: slicing, reshaping et indexation avancée
  • Numpy: vectorisation
  • Numpy: broadcasting
  • Pandas: introduction aux series et aux index
  • Pandas: le type DataFrame
  • Pandas: opérations avancées
  • Pandas: gestion des dates et des séries temporelles
  • matplotlib

Semaine 8: Programmation asynchrone avec asyncio

Cette séquence aborde la programmation asynchrone. C'est un sujet qui est assez innovant puisque ça met en œuvre un paradigme de programmation qui est plutôt différent de ce à quoi on est habitué. C'est aussi un sujet qui devient de plus en plus prégnant puisque dans un monde qui est tourné complètement vers le réseau. Ce sont des types d'applications qui deviennent de plus en plus largement utilisées, et pour ceux qui connaissent, vous trouverez des similitudes avec ce qu'on peut trouver dans des langages comme C# et JavaScript, enfin toute une famille de langages.

  • Programmation asynchrone
  • Quelques exemples simples
  • asyncio: historique et écosystème
  • Extensions asynchrones du langage
  • Coroutines et awaitables
  • Boucles d'événements
  • Tâches et exceptions
  • La librairie asyncio
  • Bonnes pratiques

Semaine 9: Sujets avancés

Nous abordons dans cette dernière séquence quelques sujets avancés. Notre but n'est pas de vous faire une couverture exhaustive de ces sujets ; il nous faudrait pour cela un nouveau MOOC, mais de vous les faire découvrir, pour que vous puissiez ainsi les développer vous-même, et ainsi, améliorer votre panorama de techniques de programmation.

  • Méthodes statiques et de classe
  • Les décorateurs
  • Les clôtures de fonctions
  • Les métaclasses
  • property et descripteurs
  • Protocole d'accès aux attributs
cours/informatique/fun_mooc/python3_uca_inria/000_start.txt · Dernière modification : 2021/05/22 08:51 de 77.192.232.26