Files
training.python.beginner/documentation/00-course-plan.md

3.9 KiB

title, author
title author
Plan de formation Python Initiation Steve Kossouho

Programme de Python Initiation

La formation s'adresse à des quasi débutants en programmation, ou curieux d'en savoir un peu plus sur les bases de Python. Pour les plus avancés, le rythme change (uniquement si le groupe est suffisamment homogène).

Démarrage

  • Tour de table et présentation
  • Logistique, planning et administratif
  • Rappel du programme

Découvrir Python

  • Nature de Python et court historique
  • Versions de Python et différences
  • Découvrir la ligne de commande et le shell
  • Environnements de développement intégrés
  • Créer un nouveau projet avec PyCharm

lundi 10h30 si pas de pb d'install

Découvrir le langage

  • Syntaxe de base
  • Types de base : chaînes, nombres
  • Variables et expressions
  • Contrôler ce que l'on exécute : conditions et boucles
  • Découvrir les listes (et tuples, sets) + slicing
  • Découvrir les dictionnaires
  • Compréhensions (listes etc.)
  • Opérations sur les chaînes : méthodes et formatage

mardi 14h30 max

Le droit aux erreurs

  • Découvrir le concept d'exceptions

mardi 15h45

Découvrir les fonctions

  • Découvrir l'utilité des fonctions
  • Découvrir la syntaxe
  • Référence vs appel de fonction
  • Valeurs de retour d'une fonction
  • Passer des arguments aux fonctions

mercredi 10h00

Découvrir la structure du code au-delà du simple script

  • Expliquer ce qu'est pip, venv (avec exemples) et aussi conda
  • Modules et packages
  • Bibliothèque standard python et imports
  • Exemple : faire un peu de calcul avec la bibliothèque standard
  • Réutiliser votre propre code
  • Extra : virtualenv et pip)

mercredi 12h00

Types supplémentaires

  • Découvrir les types heure+date et intervalle de temps
  • Convertir depuis du texte ou vers du texte

mercredi 14h30

Découvrir la programmation orientée objet

  • Intérêts de la programmation objet
  • Découvrir la syntaxe
  • Concepts d'attributs et de méthodes
  • Différence entre une classe et ses objets
  • Instancier avec une autre signature
  • Découvrir l'héritage et le polymorphisme
  • Bonus : Courte introduction aux décorateurs avec @staticmethod
  • Bonus : Introspection (getattr, setattr, dir, isinstance, type)
  • Bonus : Diagramme de classes UML

mercredi 17h00

Programme de Python Approfondissement

Même public que l'initiation : peu d'expérience en programmation ou curiosité quant à Python. Nécessite toutefois de connaître les bases du langage.

Objectif : aller un peu plus loin dans les bases de Python pour pouvoir traiter quelques données.

Découvrir comment manipuler des fichiers texte

  • Écrire et lire des fichiers (open/close)
  • Écrire et lire des fichiers (gestionnaire de contexte)
  • Formats : JSON
  • Formats : CSV
  • Extra : Parcours de fichiers (pathlib)

jeudi 14h30

Toucher du doigt les bases de données SQL avec DBAPI et SQLite3

  • Exemple simple pour dialoguer avec une base SQL
  • Ajouter et requêter des données simplement
  • Bonus : ORMs (peewee)

jeudi 17h00

Documenter du code Python

  • Comment on fait ?
  • Qu'est-ce qu'on documente ?
  • Comment on génère des fichiers HTML de documentation ? (pdoc3, sphinx)
  • Bonus : Donner des indications sur le type des variables et arguments

vendredi 10h45

Faire sa première interface graphique avec Python

  • Exemples d'outils pour les interfaces graphiques
  • PySide6 avec Python (sous Linux)
  • Écrire une fenêtre simple
  • Interagir avec les contrôles (boutons, champs)
  • Concevoir graphiquement une fenêtre et l'utiliser avec Python

vendredi 15h45

Bonus : Aborder la journalisation

  • Qu'est-ce que c'est ? Et pourquoi, pour qui, quand ?
  • Exemple simple de journalisation
  • Exemple configuré de journalisation dans un fichier

vendredi 16h30 (selon possibilités)

Certifications

Au plus tard le vendredi à 15h30. Dure jusqu'à 17h30.

That's all folks!

That's all folks!