Programmation PYTHON – Fonctions avancées
4 jours - 28 heures
Objectifs
Programmer efficacement en Python avec les aspects plus techniques de ce langage.
Participants
Programmeurs et chefs de projets.
Prérequis
Avoir suivi la formation « Programmation PYTHON – Fonctions de base » ou en maitriser les concepts.
Pédagogie
La pédagogie est basée sur le principe de la dynamique de groupe avec alternance d'apports théoriques, de phases de réflexion collectives et individuelles, d'exercices, d'études de cas et de mises en situations observées. Formation / Action participative et interactive : les participants sont acteurs de leur formation notamment lors des mises en situation car ils s'appuient sur leurs connaissances, les expériences et mettront en œuvre les nouveaux outils présentés au cours de la session.
Spécificités pédagogiques de la session à distance
Formation dispensée en visio-formation avec un séquencement adapté. Configuration et accès à notre outil de visio-formation. Accès à la bibliothèque pédagogique virtuelle durant la formation afin de partager les exercices, contrôler les résultats obtenus et déployer l’ensemble du séquencement pédagogique. La durée exacte des modules définis ci-après est susceptible de varier en fonction de la vitesse d’appropriation des concepts enseignés de la part du stagiaire.
Remarques
-
Public Visé
Collaborateurs - Développer ses compétences, s’affirmer comme expert dans son domaine, sécuriser son parcours professionnel ; Entreprises ou organisations - Accélérer les évolutions de carrière des collaborateurs, augmenter l’efficacité et l’employabilité des équipes… ; Demandeur d’emplois - Développer son employabilité, favoriser sa transition professionnelle...
Certification
Formation éligible au CPF - Certification TOSA PythonProfil de l'intervenant
Consultant-formateur expert. Suivi des compétences techniques et pédagogiques assuré par nos services.
Accessibilité Handicap
Moyens techniques
Encadrement complet des stagiaires durant la formation. Espace d’accueil, configuration technique des salles et matériel pédagogique dédié pour les formations en centre. Remise d’une documentation pédagogique papier ou numérique à échéance de la formation.
Moyens techniques relatifs aux sessions à distance
Encadrement complet des stagiaires durant la formation. Accès à notre service technique durant l’animation pour toute limite rencontrée. Accès à l’espace de conversation instantané durant la session pour interagir avec le formateur et les participants. Transmission d’un email de contact pour réaction privée durant la session. Remise d’une documentation pédagogique papier ou numérique à échéance de la formation.
Méthodes de positionnement et d'évaluation des acquis
Un contact téléphonique est systématiquement établi avec le stagiaire ou la personne chargée de son inscription afin de définir le positionnement. Si besoin, un questionnaire est adressé pour valider les prérequis en correspondance et obtenir toute précision nécessaire permettant l’adaptation de l’action. Durant la formation, des exercices individuels et collectifs sont proposés pour évaluer et valider les acquis du stagiaire. La feuille d’émargement signée par demi-journée ainsi que l’évaluation des acquis sont adressées avec la facture.
Méthodes d'évaluation des acquis de la formation à distance
Un contact téléphonique est systématiquement établi avec le stagiaire ou la personne chargée de son inscription afin de définir le positionnement. Si besoin, un questionnaire est adressé pour valider les prérequis en correspondance et obtenir toute précision nécessaire permettant l’adaptation de l’action. Durant la formation, des exercices individuels et collectifs sont proposés pour évaluer et valider les acquis du stagiaire. La feuille d’émargement signée par demi-journée ainsi que l’évaluation des acquis sont adressées avec la facture.
Programme
Langage
- Appel de fonctions aspects avancés : *args, **argk
- Lambda, filter et map
- Utilisation avancée des modèles de données : list, dic, stack, queue
- Utilisation avancée des fonctions : passages d'arguments
- Aspects avancés de la programmation orientée objets
Programmation multithread
- Concepts de bases : programme, thread, synchronisation
- Gestion de threads : modules thread, threading
- Threads et la programmation orientée objets
- Gestion des aspects concurrentiels : lock, mutex, sémaphores...
- Threads et échanges de données
- Notion de pool de threads
Programmation réseau avec les sockets
- Rappels sur le TCP/IP et concepts de base de l'API socket
- Utilisation du module socket
- Socket en mode connecté : TCP ou stream
- Socket en mode non connecté : UDP ou datagram
- Les sockets et la programmation orientée objets
- Combinaison des sockets et des threads
Python et XML
- Concepts de base
- DOM (Document Object Model)
- SAX (Simple API for XML)
- Parser...
Gestion de fichiers XML selon SAX et selon DOM
- Requêtage Xpath et transformation avec XSL
- Programmation graphique
Différentes API : Tkinter, wxPython, Qt/UI API
- Tkinter : présentation et mise en oeuvre
- API wxPython : présentation et mise en oeuvre
- API Qt/UI : présentation et mise en oeuvre
Persistance de données
- Concepts de base : sérialisation / désérialisation
- Différents modèles de persistance : Pickle...
- Persistance texte avec Json, XML
Les bases de données
- Concepts de base : SQL, tables, curseur
- Gestion de la base de données SQLite
- Gestion de la base de données MySQL
Développement Web avec Django
- Architecture d'applications Web et les concepts de bases
- Présentation du framework MVC Django
- Installation et configuration minimale de Django
- Modèle de l'applications Django et publication
- Eléments de MVC : vue, modèle et échanges HTTP
- Echanges HTTP et formulaires
- Bases de données, modèle et ORM