Cours de programmation

_images/coding.jpg

Langage : Python

Pré-requis : être à l’aise avec son ordinateur

Tarif : 25€ / heure

Réservation : https://www.superprof.fr/developpeur-professionnel-experience-donne-cours-programmation-python-base-donnees-postgresql.html

Le cours consiste pour l’élève à éditer, modifier et améliorer un support de cours sur son ordinateur avec mon aide.

Le cours s’accompagne aussi de conseils pour savoir trouver sur internet les solutions aux problèmes courants et ainsi atteindre une certaine autonomie.

Plusieurs formules

  • Découverte (deux à trois séances)

  • Apprentissage (à déterminer)

  • Cours spécifiques

Cours spécifiques

  • Interface graphique avec pyQt

  • Serveur web avec Flask

  • Accès base de données avec SQLite ou PostgreSQL

  • Traitement de données de tableurs avec CSV

  • Envoyer un courriel en Python

  • Python dans le navigateur avec JupyterLab

  • Architecture hexagonale et DDD

Je peux aussi créer un cours à la demande…

Découverte

  • Installation de l’environnement de développement Python

  • Les modules Python

  • Les types de données

  • Les conditions

  • Les boucles

  • Les fonctions

  • Interface graphique avec Tkinter

Apprentissage

Introduction

  • Environnement de travail

  • Éditeurs et environnements de développement (IDE)

  • Installation et configuration de Python

Travaux pratiques

  • Acquisition de l’environnement de développement

  • Configuration de l’installation

Programme de base

  • Programme minimal et point d’entrée

  • Notion de blocs et indentations

  • Extension basée sur les packages : import

  • Lancement de programmes et passage d’arguments

  • Versions compilées de Python .pyc

  • Console Python

  • Encoding : utf-8

  • Conformité du codage à PEP8

Travaux pratiques

  • Écriture d’un premier programme de base Python

  • Échange avec la console

Types de bases

  • Typage fort, mais dynamique

  • Booléens, numériques

  • Les chaînes de caractères

  • Conversions de types, casting

  • Types agrégés : Tuples, List, Set et dictionnaires

Travaux pratiques

  • Sur le programme Python démarré, travail sur les types de variable en Python

  • Ajout de tableaux et travail sur ceux-ci

Les instructions de base

  • Commentaires sur une ligne # ou plus """

  • Les opérateurs

    • Affectation

    • Arithmétique

    • Logiques

    • Relationnels

  • Saisie et affichage : input, print et formatage

  • Structure conditionnelle

  • Les structures de boucle : While, For, Range()

  • Break et Continue

  • La gestion des exceptions

  • L’import de modules

Travaux pratiques

  • Suite du travail sur le programme Python

  • Utilisation des structures de contrôle

  • Ajout de la gestion des exceptions et compréhension des modules

Procédures et fonctions

  • def(), arguments et valeur de retour

  • Variables globales et l’instruction globale

  • Arguments par défaut, *args et **kwargs

  • Fonctions lambda

  • passage de valeur par assignation

Travaux pratiques

  • Définition et exploitation de nouvelles fonctions avec passage de paramètres et types de retour

  • Ecriture de fonctions lambda, compréhension de l’avantage d’utiliser celles-ci

Gestion des fichiers

  • Gestion de fichiers et répertoires

  • Accès séquentiel, aléatoire

  • Le module os, os.path, shutil, zlib

Travaux pratiques

  • Création d’un nouveau programme qui accède aux fichiers et répertoires, différents types d’accès étudiés

  • Travail sur les modules standards

Les modules Python

  • Définition de modules et instruction import

  • Modules en tant que fichier py et Package en tant que répertoire

  • Résolution des modules

  • Module et programme : __main__

  • Installation de modules : pip

Travaux pratiques

  • Utilisation de modules systèmes

  • Création de modules regroupant plusieurs fonctions écrites en cours

Les classes

  • Programmation Orientée Objet

  • Classes et instances / objets : self

  • Constructeur : __init__

  • Données et méthodes membres

  • Héritage multiple

Travaux pratiques

  • Dans un nouveau programme, création de classes simples, instanciation de celles-ci pour en récupérer des objets

  • Ajout de méthodes et de propriétés

  • Ajout de l’héritage et travail sur ce modèle

Les bibliothèques Python

  • Accès aux bases de données relationnelles Sqlite, PostgreSQL

  • Programmation graphique UI avec Tkinter

Travaux pratiques

  • Création d’un programme d’interface utilisateur utilisant la bibliothèque Tkinter

  • Ajout dans ce programme d’un accès à une base de données relationnelle puis exploitation de cet accès

Mise au point de programme

  • Tests Unitaires et Fonctionnels

  • Tests d’intégration

  • Débogage : exécution pas à pas, points d’arrêt

Python et le Web

  • Scripts Python en tant que Common Gateway Interface CGI

  • Introduction au Framework Flask

Travaux pratiques

  • Ecriture d’une petite application Web en tant que Common Gateway Interface (CGI)

  • Création d’une application simple avec Flask, le framework Web léger de Python