Python par PLB Consultant
Lieu(x)
En centre (92)
Durée
Total : 28 heures
En centre : 28 heures
Financement
Demandeur d’emploi
Salarié
Prix
Nous contacter
Cette formation vous intéresse ?
Description générale
* Bien commencer avec Python.
Pourquoi utiliser Python plutôt qu'un autre langage ?
Exemples de projet en Python.
Différences entre les versions de Python.
Installation de Python (pré-requis, fichiers, arborescence détaillée).
Fonctionnement de l'interpréteur Python.
Les apports de l'interpréteur interactif iPython.
Un premier programme ...
* Les bases de Python (types, syntaxe).
Organisation du code (modules, package, importations).
Recommandations de nommage.
Les types de base (entier, chaîne, réel...).
Erreurs classiques sur les types.
Boucles (for), opérateurs, tests (if/else).
Définition et appel de fonction.
Toute la syntaxe dans un programme de synthèse.
* La dimension objet dans Python.
Définition et instanciation d'une classe.
Méthodes et propriétés d'une classe.
Exemples d'héritages.
Le mécanisme des exceptions.
Les classes incontournables.
* Types de données évolués.
Savoir choisir les bonnes structures de données.
Tuples, séquences et listes (append, extend, insert...).
Fonctions utiles avec les listes (filter, map, reduce).
Gestion des piles ou des files.
La puissance des dictionnaires (tableaux associatifs).
Construire une liste sur la base d'une expression (compréhension).
* Compléments sur le langage Python.
Générateurs et itérateurs.
Scripts exécutables.
Opérateurs associés aux listes.
Enchaînement de tests par rapport aux listes.
Comparer les séquences.
* Les modules de Python.
Philosophie de Python avec les modules (standard, tiers, ...).
Tour d'horizon des modules standards.
Module re (expressions rationnelles).
Modules os et sys (services du système d'exploitation).
Module csv (fichiers structurés par séparateur).
Comment trouver les modules ?.
Installer des modules tiers (setuptools, EasyInstall).
Le dépôt central : Python Package index (Pypi).
Importer des modules.
Mieux gérer son environnement avec Virtualenv.
* Accès aux données (fichiers, SGBD).
Les objets de type File.
La documentation.
La spécification DB
- API.
Connexion à une base de données.
Python et SQL.
Introduction à sqlAlchemy.
* Python et le XML.
Principes.
Parsing XML : les différentes techniques.
La librairie elementtree.
Python et SAX.
Python et DOM (manipulation de l'arbre XML).
* Maîtrisez votre environnement de développement.
Utiliser le plugin Eclipse pour Python (Pydev).
Rechercher des bugs avec PyChecker.
Vérifier le respect des standards avec PyLint.
Utiliser le guide de style PEP 8 (Python Enhancement Proposals).
Générer de la documentation.
Comprendre l'intérêt et les outils de Tests (Doctests, Unit tests).
* Programmation orientée par les tests.
Présentation du TDD (Test Driven Developpement).
Doctest.
Unittest.
* Amélioration des performances.
Profiling.
Multithreading.
Caching.
Consommation mémoire.
Pourquoi utiliser Python plutôt qu'un autre langage ?
Exemples de projet en Python.
Différences entre les versions de Python.
Installation de Python (pré-requis, fichiers, arborescence détaillée).
Fonctionnement de l'interpréteur Python.
Les apports de l'interpréteur interactif iPython.
Un premier programme ...
* Les bases de Python (types, syntaxe).
Organisation du code (modules, package, importations).
Recommandations de nommage.
Les types de base (entier, chaîne, réel...).
Erreurs classiques sur les types.
Boucles (for), opérateurs, tests (if/else).
Définition et appel de fonction.
Toute la syntaxe dans un programme de synthèse.
* La dimension objet dans Python.
Définition et instanciation d'une classe.
Méthodes et propriétés d'une classe.
Exemples d'héritages.
Le mécanisme des exceptions.
Les classes incontournables.
* Types de données évolués.
Savoir choisir les bonnes structures de données.
Tuples, séquences et listes (append, extend, insert...).
Fonctions utiles avec les listes (filter, map, reduce).
Gestion des piles ou des files.
La puissance des dictionnaires (tableaux associatifs).
Construire une liste sur la base d'une expression (compréhension).
* Compléments sur le langage Python.
Générateurs et itérateurs.
Scripts exécutables.
Opérateurs associés aux listes.
Enchaînement de tests par rapport aux listes.
Comparer les séquences.
* Les modules de Python.
Philosophie de Python avec les modules (standard, tiers, ...).
Tour d'horizon des modules standards.
Module re (expressions rationnelles).
Modules os et sys (services du système d'exploitation).
Module csv (fichiers structurés par séparateur).
Comment trouver les modules ?.
Installer des modules tiers (setuptools, EasyInstall).
Le dépôt central : Python Package index (Pypi).
Importer des modules.
Mieux gérer son environnement avec Virtualenv.
* Accès aux données (fichiers, SGBD).
Les objets de type File.
La documentation.
La spécification DB
- API.
Connexion à une base de données.
Python et SQL.
Introduction à sqlAlchemy.
* Python et le XML.
Principes.
Parsing XML : les différentes techniques.
La librairie elementtree.
Python et SAX.
Python et DOM (manipulation de l'arbre XML).
* Maîtrisez votre environnement de développement.
Utiliser le plugin Eclipse pour Python (Pydev).
Rechercher des bugs avec PyChecker.
Vérifier le respect des standards avec PyLint.
Utiliser le guide de style PEP 8 (Python Enhancement Proposals).
Générer de la documentation.
Comprendre l'intérêt et les outils de Tests (Doctests, Unit tests).
* Programmation orientée par les tests.
Présentation du TDD (Test Driven Developpement).
Doctest.
Unittest.
* Amélioration des performances.
Profiling.
Multithreading.
Caching.
Consommation mémoire.
Objectifs
Cette formation Python vous permettra d'acquérir les connaissances nécessaires à la programmation avec le langage Python. Quatre jours pour acquérir les bases du langage et disposer d'une bonne vue d'ensemble des différents modules. Vous saurez utiliser les bonnes structures de données pour tirer pleinement profit de la puissance de Python. L'accès aux données (fichiers, base) est également abordé ainsi que les aspects XML. De nombreux outils (Eclipse/Pydev, PyLint, PyChecker...) ou frameworks permettant une utilisation professionnelle de Python seront présentés (Zope, Plone, Django, Grok...). Les bonnes manières d'utilisation du langage seront présentées tout au long du stage dans un souci de concision, d'efficacité, et de lisibilité du code.
Travaux pratiques : Des exercices basés sur des squelettes seront proposés tout au long de la formation. Ils synthétisent les possibilités de Python afin que vous puissiez réutiliser leurs colonnes vertébrales en production. La difficulté variable permet d'adapter la complexité aux objectifs des participants. Plusieurs solutions sont proposées afin que tout le monde sache évaluer la meilleure solution.
Travaux pratiques : Des exercices basés sur des squelettes seront proposés tout au long de la formation. Ils synthétisent les possibilités de Python afin que vous puissiez réutiliser leurs colonnes vertébrales en production. La difficulté variable permet d'adapter la complexité aux objectifs des participants. Plusieurs solutions sont proposées afin que tout le monde sache évaluer la meilleure solution.
Centre(s)
- Levallois Perret (92)
Secteur(s)
Métier(s)
- Analyste cogniticien / cogniticienne informatique
- Analyste concepteur / conceptrice informatique
- Analyste d'application
- Analyste d'étude informatique
- Analyste de gestion informatique
- Analyste décisionnel - Business Intelligence
- Analyste développeur / développeuse
- Analyste en cybersécurité
- Analyste fonctionnel / fonctionnelle informatique
- Analyste organique informatique
- Analyste responsable d'application informatique
- Analyste réseau informatique
- Analyste télématique
- Analyste-programmeur / Analyste-programmeuse d'étude informatique
- Analyste-programmeur / Analyste-programmeuse de micro-informatique
- Analyste-programmeur / Analyste-programmeuse en informatique industrielle
- Analyste-programmeur / Analyste-programmeuse gestion informatique
- Analyste-programmeur / Analyste-programmeuse informatique
- Analyste-programmeur / Analyste-programmeuse scientifique informatique
- Assistant / Assistante chef de projet informatique
- Chef de groupe logicien informaticien
- Chef de projet TMA - Tierce Maintenance Applicative
- Chef de projet maîtrise d'oeuvre informatique
- Chef de projet étude et développement informatique
- Concepteur / Conceptrice d'application informatique
- Concepteur / Conceptrice informatique
- Concepteur / Conceptrice logiciel informatique
- Didacticien / Didacticienne informatique
- Développeur / Développeuse Big Data
- Développeur / Développeuse back-end
- Développeur / Développeuse d'application
- Développeur / Développeuse de logiciel de simulation optique et réalité virtuelle
- Développeur / Développeuse de sécurité des systèmes d'information
- Développeur / Développeuse décisionnel - Business Intelligence
- Développeur / Développeuse front-end
- Développeur / Développeuse full-stack
- Développeur / Développeuse informatique
- Développeur / Développeuse jeux vidéo
- Développeur / Développeuse logiciel de réalité augmentée
- Développeur / Développeuse multimédia
- Développeur / Développeuse web
- Développeur / Développeuse web mobile
- Homologateur / Homologatrice logiciel
- Informaticien / Informaticienne analyste
- Informaticien / Informaticienne d'application
- Informaticien / Informaticienne de développement
- Informaticien chargé / Informaticienne chargée d'étude
- Ingénieur / Ingénieure analyste en système d'information
- Ingénieur / Ingénieure analyste informatique
- Ingénieur / Ingénieure d'analyse et de programmation en informatique de gestion
- Ingénieur / Ingénieure d'application informatique
- Ingénieur / Ingénieure d'intégration applicative
- Ingénieur / Ingénieure d'étude en applications scientifiques informatiques
- Ingénieur / Ingénieure d'étude en informatique de gestion
- Ingénieur / Ingénieure d'étude et développement informatique
- Ingénieur / Ingénieure d'étude informatique
- Ingénieur / Ingénieure d'étude logiciel informatique
- Ingénieur / Ingénieure de conception informatique
- Ingénieur / Ingénieure de développement informatique
- Ingénieur / Ingénieure de réalisation informatique
- Ingénieur / Ingénieure développement logiciel informatique
- Ingénieur / Ingénieure en développement d'applications
- Ingénieur / Ingénieure informatique développement en temps réel
- Ingénieur / Ingénieure logiciel informatique
- Ingénieur / Ingénieure programme informatique
- Ingénieur analyste-programmeur / Ingénieure analyste-programmeuse
- Ingénieur concepteur / Ingénieure conceptrice informatique
- Ingénieur informaticien / Ingénieure informaticienne
- Intégrateur / Intégratrice d'application informatique
- Lead programmeur / programmeuse - jeux vidéo
- Paramétreur / Paramétreuse logiciel ERP
- Programmeur / Programmeuse d'applications
- Programmeur / Programmeuse d'études
- Programmeur / Programmeuse de maintenance informatique
- Programmeur / Programmeuse informatique
- Programmeur / Programmeuse jeux vidéo
- Programmeur / Programmeuse logiciel de base informatique
- Programmeur industriel / Programmeuse industrielle
- Responsable d'application informatique
- Responsable d'atelier de génie logiciel
- Responsable d'étude informatique
- Responsable de gestion de configuration
- Responsable de projet informatique
- Responsable des développements informatiques
- Scrum Master
- Technicien / Technicienne programmation
- Testeur / Testeuse informatique
- Webmaster
- Webmaster développeur / développeuse
Compétence(s)
- Algorithmique
- Animation d'instances agiles (mêlée, démonstration, rétrospective, …)
- Architecture d'applications
- Architecture des systèmes d'information
- Architecture propriétaire
- Architecture web
- Business Intelligence (BI) / Informatique décisionnelle
- Comptabilité générale
- Finance
- Formalisation de processus de gestion
- Gestion commerciale, relation clients
- Gestion de configuration
- Gestion de production
- Gestion de projet
- Gestion des Ressources Humaines
- Informatique de gestion
- Informatique industrielle
- Informatique scientifique et technique
- Langage informatique ASP.NET
- Langage informatique Ada
- Langage informatique Apache
- Langage informatique AutoItScript
- Langage informatique Basic
- Langage informatique C#
- Langage informatique C/C++
- Langage informatique CSS
- Langage informatique Cobol
- Langage informatique Delphi
- Langage informatique Fortran
- Langage informatique HTML
- Langage informatique J2EE
- Langage informatique J2ME
- Langage informatique Java
- Langage informatique Lisp
- Langage informatique PHP
- Langage informatique Pascal
- Langage informatique Perl
- Langage informatique Prolog
- Langage informatique Python
- Langage informatique Ruby
- Langage informatique SQL
- Langage informatique Script Shell
- Langage informatique VB.NET
- Langage informatique Visual Basic
- Langage informatique WLangage
- Langage informatique XML
- Langages de programmation informatique
- Marketing / Mercatique
- Matériel de contrôle embarqué
- Modélisation informatique
- Méthode AGILE
- Méthodologie SAFe
- Méthodologie Scrum
- Principes d'intégration de matériels et de logiciels
- Process et procédures d'achats
- Procédures d'appels d'offres
- Produits multimédia
- Progiciels de Gestion Intégrée (PGI) / Enterprise Resource Planning (ERP)
- Programmation informatique
- Programmation logicielle
- Protocoles et normes télécoms
- Publication Assistée par Ordinateur (PAO)
- Règles de sécurité Informatique et Télécoms
- Réseaux informatiques et télécoms
- Système KANBAN
- Système LEAN
- Système embarqué
- Systèmes d'exploitation informatique
- Technologies de l'accessibilité numérique
Formation proposée par : PLB Consultant
À découvrir