Bien commencer avec Python
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 ..
Les bases de Python (types, syntaxe)
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
« Toute la syntaxe » dans un programme de synthèse
La dimension objet dans Python
Définition et instanciation d’une classe
Méthodes et propriétés d’une classe
Exemples d’héritages
Le mécanisme des exceptions
Les classes incontournables
Types de données évolués
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)
Compléments sur le langage Python
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
Les modules de Python
Philosophie de Python avec les modules (standard, tiers, ..)
Tour d’horizon des modules standards
Module re (expressions rationnelles)
Modules os et sys (services du système d’exploitation)
Module csv (fichiers structurés par séparateur)
Comment trouver les modules ?
Installer des modules tiers (setuptools, EasyInstall)
Le dépôt central : Python Package index (Pypi)
Importer des modules
Mieux gérer son environnement avec Virtualenv
Accès aux données (fichiers, SGBD)
Les objets de type File
La documentation
La spécification DB-API
Connexion à une base de données
Python et SQL
Introduction à sqlAlchemy
Python et le XML
Principes
Parsing XML : les différentes techniques
La librairie elementtree
Python et SAX
Python et DOM (manipulation de l’arbre XML)
Maîtrisez votre environnement de développement
Utiliser le plugin Eclipse pour Python (Pydev)
Rechercher des bugs avec PyChecker
Vérifier le respect des standards avec PyLint
Utiliser le guide de style PEP 8 (Python Enhancement Proposals)
Générer de la documentation
Comprendre l’intérêt et les outils de Tests (Doctests, Unit tests)
Programmation orientée par les tests
Présentation du TDD (Test Driven Developpement)
Doctest
Unittest
Amélioration des performances
Profiling
Multithreading
Caching
Consommation mémoire