Programme
Ce cours s’adresse à un public déjà utilisateur de Python à titre régulier, afin d’approfondir son utilisation de Python. Le cours et en français avec des slides en anglais.
Prérequis : maîtriser la syntaxe et la programmation orientée objet en Python
- ADVANCED PROGRAMMING TECHNIQUES
1.1. Python typing
1.2. Complexity of collections from the standard library - CHARACTERISTICS AND PARADIGMS OF PYTHON
2.1. Object-oriented programming (OOP)
2.2. Metaclasses
2.3. Functional programming
2.4. Decorators
2.5. Context manager: thewith
statement - CODE WITH QUALITY
3.1. Type annotations
3.2. Python docstrings
3.3. Logging
3.4. Virtual environments (venv)
3.5. Quality control tools and automation
3.6. Testing - PACKAGE AND DISTRIBUTE
4.1. Reminders about Modules and packages
4.2. The Python Package Index (PyPI)
4.3. Package distribution
4.4. Uploading your package distribution on PyPI - PERFORMANCE OPTIMIZATION
5.1. Kind reminder about complexities
5.2. Refactor your code by keeping complexity in mind
5.3. Profiling
5.4. Alternative package managers
5.5. Common design patterns - PARALLELIZE PYTHON APPLICATIONS
6.1. Multithreading, multiprocessing and asynchronous IO
6.2. Asynchronous code (Python coroutines)
PRACTICAL LABS : Creation of a complete package simulating bank transactions. It includes the package architecture, its test routines, and its publication on PyPI for further installation with pip.
Supports de cours
Séances
- Lundi 21 mars 18:00 – 20:00
- Vendredi 25 mars 18:00 – 20:00
- Lundi 28 mars 18:00 – 20:00
- Vendredi 1 avril 18:00 – 20:00
- Lundi 4 avril 18:00 – 20:00
