Apprendre le langage Python
Éligible CPF
À distance
VOUS SOUHAITEZ APPRENDRE LE LANGAGE PYTHON À DISTANCE ?
Optez pour une formation à distance, à votre rythme et individuelle
LANGUAGE PYTHON : DES BASES AUX TECHNIQUES AVANCÉES
Réputé pour être le langage de programmation le plus populaire au monde, Python est très plébiscité pour ses différentes utilisations. Au travers de cette formation de vous apprenez les fondamentaux de la programmation Python, vous maîtrisez les techniques avancées et vous découvrez comment utiliser Python pour le web et pour l’analyse et la visualisation des données.
Apprendre à programmer en Python :
Apprendre les fondamentaux du langage de programmation Python.
Apprendre Python : Qualité de code et maintenance :
Maîtriser Python avec une qualité de code et de maintenance optimales.
Maîtriser Python : Techniques avancées :
Formez-vous aux différentes fonctionnalités avancées de python.
Apprendre le web avec Python/ Django : Découvrez la programmation Web :
Apprendre les principes fondamentaux de la programmation Web
Maîtriser Python : Analyse et visualisations des données :
Apprendre à utiliser Python pour l’analyse et la visualisation des données
– Durée de la formation :
1 à 4 mois – plateforme accessible 24h/24 et 7J/7
– Publics visés/ pré-requis par la certification
Pour les débutants en programmation ou les plus expérimentés qui souhaitent une bonne entrée en matière dans l’écosystème Python.
– Modalités pédagogiques:
Depuis votre domicile ou votre entreprise. Vous rejoignez un environnement de formation en ligne, à l’aide de votre ordinateuret suivez les différents modules sous forme de vidéos explicatives et pédagogiques.
Certification TOSA – Code CPF RS5795 – Test adaptatif en ligne
Objectifs et contexte de la certification :
L’objectif de cette certification est double :
– faciliter pour les employeurs et les chercheurs d’emploi l’identification des compétences nécessaires pour le développement informatique malgré la très grande variété de postes,
– mettre en valeur des compétences réelles de l’individu et faire correspondre postes et candidats efficacement, pour simplifier et accélérer l’embauche.
Compétences attestées :
Niveau opérationnel (score Tosa 551 à 725)
Utiliser les fonctionnalités de contrôles de flux afin d’automatiser un traitement de données conditionnels et/ou répétitifs
Créer un programme pour des traitements complets de données, en utilisant les fonctionnalités avancées des contrôles de flux et des opérations arithmétiques
Reconnaître et créer des objets simples de type intégrés (built-in), en vue de créer des programmes manipulant des données
Reconnaître les objets structurés de type intégré, afin d’effectuer des traitements de multiples variables simples
Manipuler les objets intégrés simples et structurés et les assembler dans le but de créer des fonctions simples et réutilisables
Maîtriser les concepts liés aux modules en vue d’inclure des fonctionnalités d’un module à un programme
Sélectionner et importer des fonctions spécifiques d’un package de l’API afin de les réutiliser dans un traitement de données
Créer un package simple complet pour créer des fonctionnalités partageables et réutilisables /Stocker et traiter simultanément plusieurs données, en vue de créer un flux de traitement de données simples adapté
Modéliser un problème et automatiser des manipulations de données, afin de traiter un volume important ou complexe de données.
Niveau avancé (score Tosa 726 à 875)
Connaître les règles syntaxiques et sémantiques de Python afin de créer des programmes clairs et réutilisables
Maîtriser les outils d’entrée-sortie, dans le but de lire et modifier des documents externes au programme
Maîtriser les spécificités des types intégrés afin de traiter efficacement et de manière claire des grands volumes de données
Créer des fonctions documentées, des classes et leurs méthodes associées, dans le but de créer des fonctionnalités intégrables dans d’autres programmes
Importer des packages composés pour exploiter l’ensemble des fonctionnalités incluses
Utiliser les packages fondamentaux de la bibliothèque standard afin de manipuler efficacement des données externes habituelles
Implémenter des structures de données adaptées et choisir les fonctions adaptées afin de concevoir des programmes à la complexité algorithmique maîtrisée
Niveau expert (score Tosa 876 à 1000)
Intégrer la gestion d’erreur afin de créer des programmes couvrant tous les cas d’entrée et de gestion de données
Utiliser les règles et conventions de nommage afin de créer des programmes pouvant s’intégrer dans un environnement complet
Mettre en œuvre l’intégralité des outils fonctionnels, afin de créer des fonctions adaptées et efficaces
Utiliser et implémenter les concepts de la programmation orientée objet, afin de créer des structures spécifiques à un projet
Maîtriser l’ensemble des concepts liés aux modules pour intégrer des packages de la manière la plus performante possible
Utiliser l’intégralité de la bibliothèque standard pour traiter des données et documents externes, en local ou sur internet
Mettre en place des outils algorithmiques avancés afin de drastiquement améliorer la performance d’un programme existant
Modalités d’évaluation :
Test adaptatif en ligne
Algorithme adaptatif : le niveau des questions s’adapte au niveau du candidat tout au long du déroulement du test
Scoring mathématique IRT (Item Response Theory) : score sur 1000
Typologies de questions : activités interactives
Format du test : 35 questions – 90 minutes
Cette formation est prise en charge dans le cadre du Compte Personnel de Formation CPF qui remplace désormais le DIF depuis l’application de la réforme de la formation professionnelle du 1er janvier 2015. Pour être prise en charge par le CPF, votre formation doit conduire à une certification.
Pour plus d’informations, n’hésitez pas à consulter nos guides de financement ou à prendre contact avec nos conseillers.
Programme détaillé de la formation
Apprendre à programmer en Python
Présentation du programme, des étapes et objectifs
Installation de l’environnement de travail sur Windows (shell, editeur, python, ipython)
Un peu de vocabulaire : shell, mot clés, fonctions, hello world, entrée/sortie
Affichage et arithmétique de base
Types et variables
Les types int, bool, str et None
Installation l’environnement de travail sur Mac
Les opérateurs logiques
Les conditions
Exercice “Êtes-vous majeur ?”
La boucle while
Exercice “Trouver le nombre aléatoire”
Mettre le code dans un fichier et comprendre les messages d’erreur
Ouvrir le terminal depuis un dossier : Linux
Ouvrir le terminal depuis un dossier : Windows
Ouvrir le terminal depuis un dossier : Mac
Les types list et tuple : construction
Les types list et tuple : le reste des listes
Les types list et tuple : les tuple
La boucle for
Exercice “Ajouter un historique au jeu précédent”
Les dictionnaires
Imbriquer des types
Exercice “Sondage”
Les sets
Les fichiers
Exercice “Mot unique d’un fichier”
Parcourir le système de fichiers
Exercice “Trouver le mot le plus utilisé dans tous les fichiers”
Les exceptions
Utiliser le debugger
Les fonctions (paramétrage, valeur de retour, docstring)
Exercice “Créer une fonction listing”
Paramètres avec valeur par défaut
L’unpacking
L’unpacking dans les fonctions
Paramétrage dynamique
Exercice “Creer une fonction pour supprimer des mots dans un fichier”
Les listes en intension
Les générateurs
Parsing d’arguments
Lecture de base de données
Requêtes à la base de données
Analyse et affichage des données
Création d’un GUI simple
Pip, virtualenv et pew
Tour d’horizon de la stdlib
Quelques bibliothèques tierces partie : requests, arrow, begin, peewee, sqlachemy…
Travailler avec Internet : django, flask, pyramid, bottle, twisted, tornado
Faire des interfaces graphiques : PyQT, Kivy, WxPython, PyGTK, PyGame
Les différentes implémentations de Python : CPython, Pypy, Jython et Iron Python
Les implémentations
Classe et instance
Méthode, méthode statique et méthode de classe
L’Héritage
Les Properties
La Composition
Exercice “Modéliser avec composition”
Quand utiliser la POO, et pourquoi : Exemple avec tkinter
Apprendre Python
Introduction à la qualité de code
Linter son code avec flake8 et pylint
Types hints de mypy
Les tests avec Unittest
Les tests avec Pytest
Les tests avec Coverage
Tox pour lancer tout ça
Garder une trace dans les logs
Effectuer une action à la fin du programme
Créer ses propres exceptions
Introduction
Surcharge des opérateurs
Imiter les conteneurs
Context managers
__str__, __new__, __call__, et __repr__
Abstract base classes
Métaclasses et magie noire
Introduction au Packaging
Gérer son environnement avec pipenv
Documenter avec sphinx
Votre premier setup.py
Uploader sur pypi
Conclusion
Maîtriser Python
Manipuler les références aux fonctions
Déléguer le travail à un callback
Lambda : la fonction anonyme
Générer une fonction à la volée
Décorateurs, sous le capot
Les décorateurs poussés à l’extrême
Introduction aux structures de données avancées
Alternatives au dictionnaire
Les dates et les durées
Listes, tuples, set et deques
Trier au fur et à mesure avec heapq
Introduction à l’itération
Les structures de données itérables
Les fonctions qui acceptent des itérables
Générateurs complexes : Listes en intentions et expressions génératrices
Générateurs : Générateurs avec le mot-clé yield
Générateurs : Générateurs plus complexes
Générateurs : Envoyer des données aux générateurs
Générateurs : Déléguer le travail à un sous-générateur
Générateurs : Rendre n’importe quelle classe itérable
Itertools, l’ami des générateurs
Itertools : Concaténer des générateurs
Itertools : Combinaisons, permutation et produit cartésien
Itertools : Bornes avec conditions
Itertools : Groupby et tee
Itertools : Eviter le piège de l’initialisation
Itertools : Complément à zip, map et reduce
Programmation orientée flux
Introduction au partage de travail
Principes généraux
Threading
Multiprocessing
Asyncio
Introduction persistence
JSON
XML
INI, TOML, YAML
SQL à la main
Utiliser un ORM
Apprendre le Web avec Python/Django
Présentation de la formation au Web avec Python Django
Bien démarrer la programmation Web avec Python et Django
Comprendre le Web statique
Comprendre le Web dynamique
Introduction à la Programmation Objet
Les bases de la Programmation Objet
L’héritage en Programmation Objet
Utilisation des Use Case et approche MVC
Les fondamentaux de Python
Les structures de données en Python
Les tests conditionnels et les boucles en Python
Les fonctions en Python
La Programmation Objet en Python
L’héritage en Python
Les bases de l’HTML
Les bases du CSS
Les bases du JavaScript
Introduction au framework Django
Les “views” du framework Django
Les “templates” du framework Django
Les modèles du framework Django
Innovations plus récentes du framework Django : les classes “view”
Les formulaires et le système automatique d’authentification dans le framework Django
Histoire du projet Trombinoscoop et démonstration du site Web
Analyse use case du projet Trombinoscoop
Les wireframes du projet Trombinoscoop
Exemples de templates du projet Trombinoscoop
Diagramme de classe et modèles relationnels du projet Trombinoscoop
Page Web d’accueil et premières “views” du projet Trombinoscoop
Page web et “view” de la création de compte dans le projet Trombisnoscoop
Introduction à la technologie Ajax dans le cadre de Django
Conclusions
Maîtrisez Python – analyse et visualisations des données
Découverte du logiciel Colaboratory
Syntaxe, assignation et exécution de code Python
Les bases de Markdown
Partage et publication
Les Fonctions
Les Conditions
Les Boucles
Les Chaînes de caractères
Les Fonctions sur les chaînes de caractères
Les dictionnaires
Installer et utiliser des modules communautaires
Les clés pour progresser en autonomie
Connecter Google Colaboratory à Google Drive
Introduction à pandas
La gestion des fichiers CSV
La gestion des fichiers Excel
La gestion des fichiers JSON
Récolter de l’information au format HTML
La gestion des valeurs manquantes
La gestion des valeurs incohérentes
La gestion des dates
Produire et manipuler des agrégations
Calculs statistiques classiques
Evaluer une corrélation entre variables
Automatiser l’analyse exploratoire préliminaire
Introduction à Plotly Express
Les camemberts
Les diagrammes en bâton
Les séries temporelles
Les nuages de points
Les cartes de chaleur
À distance mais pas en solitaire !
S’il y a le moindre problème, notre équipe de conseillers s’engage à vous aider dans les plus brefs délais pour vous permettre un apprentissage en toute tranquillité.