Python for newbies
Vidéo de présentation cours
L'objectif de ce cours est d'étudier le langage python via des mini cours et des exercices de TP. Pour bien comprendre ce cours il est nécessaire d'avoir en prérequis des compétences de développement dans un langage autre du paradigme de la programmation structuré et si possible orienté objet.
L'évaluation de ce cours est réalisé sous forme de QCM durant le semestre.
- Nouvelles diverses et annonces. Seuls les enseignants peuvent poster un message. Pour des questions de cours, utilisez le forum Discussions ci dessous.
Cours
Voici le planning des cours semaine par semaine en classe inversée (cours à préparer en amont de la séance) :
- Caractéristiques générales du langage
Les types de base
Les instructions
Les fonctions
Les modules, scripts et paquets
Map, filter et comprehension de séquences
L'instruction yield - Les classes
Les propriétés - Les méthodes spéciales début, suite et fin
Les méthodes statiques et de classes
Les énumérations - Les exceptions
L'instruction with - Pip, env, pipenv, git, etc.
- Les tests unitaires
- Les flux
- Les logs
- Le deboggeur PDB
- Les arcanes du langage Python
- Les décorateurs
Caractéristiques générales du langage
Les types de base
Les instructions
Les fonctions
Les modules, scripts et packages
Les expressions lambda
Map, filter et compréhension de séquences
L'instruction yield
Les classes
- Attention: pourquoi l'exemple du cours est conceptuellement faux ?Dans le paradigme de la programmation objet, l'héritage est utilisé pour spécialiser un type de donnée. D'un point de vue ensembliste, une classe représente l'ensemble de ces instances possibles, une sous-classe est un sous-ensemble de la super classe. Or Point3D n'est en aucun cas un Point2D particulier. C'est plutôt l'inverse: un Point2D est un Point3D particulier, avec les z qui valent 0. Donc conceptuellement, Point2D devrait être une sous-classe Point3D.
Les propriétés
Les méthodes spéciales
Début
Suite
Fin
Les méthodes statiques et de classes
Les énumérations
Les exceptions
L'instruction with
Pip, venv, pipenv, git, etc.
- Attention: pour l'installation de pyenv, plutôt que de faire du copier-coller de code depuis le PDF (ça pose toujours des problèmes et rien ne vous dit que le principe d'installation n'a pas évolué depuis la rédaction du cours), suivez la procédure d'installation officielle : https://github.com/pyenv/pyenv#installationAttention bis : pour compiler les python à installer, pyenv utilise des dépendances, qu'il faut installer : https://github.com/pyenv/pyenv/wiki#suggested-build-environment
Les tests unitaires
Les flux
Les logs
- Remarque : dans le code donné en exemple de ce cours, pour éviter les copier/coller, il aurait pu être intéressant d'ajouter un initialiseur aux classes XXErreur, avec l'ajout des log, plutôt que d'ajouter le code de ces derniers avant la levée des exceptions
Le débogueur PDB
Les arcanes du langages Python
Le développement des décorateurs
- Caractéristiques générales du langage