Pourquoi utiliser Python plutôt qu'un autre langage ?
Exemples de projet en Python
Différences entre les versions de Python
Installation de Python (pré-requis, fichiers, arborescence détaillée)
Fonctionnement de l'interpréteur Python
Les apports de l'interpréteur interactif iPython
Un premier programme...
Organisation du code (modules, package, importations)
Recommandations de nommage
Les types de base (entier, chaîne, réel, ...)
Erreurs classiques sur les types
Boucles (for), opérateurs, tests (if/else)
Définition et appel de fonction
Limites de la programmation « simplement » structurée
Philosophie, concepts, et vocabulaire de la programmation objet
Représentation des données en programmation objet (classes, propriétés)
Représentation des traitements (méthodes)
Contrôler l'accès aux données (encapsulation)
Exemples de classes prédéfinies en Python permettant de profiter pleinement de l'approche objet
Cycle de vie d'un objet (constructeur, destructeur)
Accéder aux attributs et fonctionnalités de l'objet cible (self)
Comment les objets communiquent entre eux ?
Classe mère et classe fille (héritage)
Des fonctions différentes avec ... le même nom (polymorphisme)
Héritage simple et héritage multiple
La fonction super()
Protection des traitements (public, protected, private)
Le mécanisme de traitement des exceptions
Exemple de formalisme UML (diagramme de classe)
Tour d'horizon des classes fondamentales existantes en Python
Notion de Design Patterns
Savoir choisir les bonnes structures de données
Tuples, séquences et listes (append, extend, insert, ...)
Fonctions utiles avec les listes (filter, map, reduce)
Gestion des piles ou des files
La puissance des dictionnaires (tableaux associatifs)
Construire une liste sur la base d'une expression (compréhension)
Générateurs et itérateurs
Scripts exécutables
Opérateurs associés aux listes
Enchaînement de tests par rapport aux listes
Comparer les séquences