Aller au contenu

Cours Python Avancé

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

  1. ADVANCED PROGRAMMING TECHNIQUES
    1.1. Python typing
    1.2. Complexity of collections from the standard library
  2. 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: the with statement
  3. 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
  4. 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
  5. 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
  6. 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