Formation complète ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-data-science-avec-python-prise-en-main-des-ide
Dans cette formation nous allons aborder successivement : comment installer un interpréteur Python notamment l’IDLE mais aussi des IDE (Environnement de Développement Intégré) communément utilisés sous Microsoft Windows et Linux, l’intérêt d’utiliser un IDE, comment créer et configurer un projet Python avec VS Community, la manipulation et l'utilisation des fichiers *.py, la définition d’un environnement python permettant la gestion des modules et librairies qui sont outils qui contribuent fortement au développement avec Python… comment recourir à l'Aide et à la documentation associées aux objets natives et aux librairies Python !
3. Une formation
Objectifs
Acquérir les prérequis logiciels
Comprendre et configurer l’environnement
Une préformation introductive aux fondamentaux
Python
Déployer un cadre de travail adéquat au
développement en Data Science notamment …
5. Une formation
Toute personne intéressée à faire des analyses
statistiques numériques/visuelles dans tous les
domaines :
• Data science, Statistiques …etc.
• Data Mining, Machine Learning,
• Biostatistique, Pharmaceutique…,
• Finance, Assurance…etc.
Public concerné
11. Une formation
Objectifs
Acquérir les prérequis logiciels
Comprendre et configurer l’environnement
Une préformation introductive aux fondamentaux
Python
Déployer un cadre de travail adéquat au
développement en Data Science notamment …
12. Une formation
Au commencement, il y avait le ABC du projet
Ameoba …
L’idée est née en 80, concrétisée 1991 par G. Van
Rossum
Emprunt du nom «Python» d’un show télé !
Version majeure Python 3, sortie en 2008, avec une
refonte complète du langage, sans compatibilité
avec la version 2.x …
Pour en savoir davantage : >>> licence()
Historique
13. Une formation
Un langage généraliste comme C++/Java …
C’est un langage de haut niveau et très intuitif
Il implémente plusieurs paradigmes de
programmation…
Utilisé par plusieurs entreprises ou organismes
(Google - NASA – NetFlix, Dropbox …)
Il est extensible avec d'autres langages (Cython, Jython)
Il est gratuit et open source
Python vs les autres langages
14. Une formation
Le *zen du Python* est une série de 20 aphorismes
donnant les grands principes de la programmation
Python ficelé par Style Guide for Python Code (PEP 8)
>>> import this
Autres référentiels :
• Google Python Style Guide
• The Best of the Best Practices (BOBP) Guide for Python
Les principes Zen de Python
23. Une formation
C’est un environnement de développement
très simple
L’EDI officiel de Python inclus dans toutes
les versions de Python
IDLE Python
24. Une formation
Sur, le site officiel de Python www.python.org, se
trouve toutes les versions de python, sa
documentation et des liens utiles pointant notamment
vers les librairies …
Plateforme Python
28. Une formation
Toute personne intéressée à faire des analyses
statistiques numériques/visuelles dans tous les
domaines :
• Data science, Statistiques …etc.
• Data Mining, Machine Learning,
• Biostatistique, Pharmaceutique…,
• Finance, Assurance…etc.
Public concerné
29. Une formation
Python est un langage natif sur Linux (Ubuntu) car
plusieurs des applications et outils qui viennent avec
Ubuntu sont développés avec Python
Ainsi, pour voir la version actuelle installée :
python -V
Sinon installer la version la plus récente :
sudo apt-get install python3
Python et Linux
30. Une formation
IDLE est l'éditeur par défaut pour Python
On doit installer manuellement l’éditeur IDLE
sudo apt-get install idle3
Installation de IDLE
34. Une formation
Anaconda est un environnement de gestion des
librairies, d’IDE et des versions Python et R
Miniconda ou Anaconda ?
Navigateur Anaconda
36. Une formation
Voir les différents IDE intégrés dans le navigateur
Anaconda
Exploration de l’environnement racine et des librairies
La gestion des projets si l’on a accès au service Cloud
Les tutoriels et documentation sur les librairies
Python
Les différents liens pour accéder aux communautés
Découvrir Anaconda
41. Une formation
Installation
Pour Linux Anaconda 5.0.0
Miniconda:
bash Miniconda3-latest-Linux-x86_64.sh
Anaconda:
bash Anaconda-latest-Linux-x86_64.sh
42. Une formation
Découvrir Anaconda
Voir les différents IDE intégrés dans le navigateur Anaconda
Exploration de l’environnement racine et des librairies
La gestion des projets si l’on à accès au service Cloud
Les tutoriels et documentations sur les librairies Python
Les différents liens pour accéder aux communautés
46. Une formation
Microsoft Visual Studio Community est une version
qui équivaut, en terme de fonctionnalités, à Visual
Studio Professionnel qui est payante
Entre autres fonctionnalités, elle permet de
développer en Python
Elle est téléchargeable gratuitement pour les
développeurs
Lien d’installation de Visual Studio
Visual Studio Community
47. Une formation
Outils Python pour Visual Studio, est une extension 100 %
gratuite, développée et prise en charge par Microsoft avec
les contributions de la communauté des développeurs
Installation PTVS
51. Une formation
La coloration syntaxique,
L’auto-complétion (avec la touche Tabulation)
Une fenêtre de configuration
Aide
Créer des fichiers Scripts
Quelques bases de débogage
Les fonctionnalités
56. Une formation
Les IDE phares de Anaconda Navigator
Les autres IDE (PTVS + PyCharm)
Notre choix pour cette formation
Plan
57. Une formation
Jupyter (Julia Python R) l’idée d’IDE multi-langage
C’est un éditeur de type application web . Il permet de rédiger de
manière interactive et narrative (équations, du code, …) des
documents qui peuvent être partagés …
Lancer depuis cmd : $ jupyter notebook ou depuis Anaconda
Jupyter Notebook
58. Une formation
Spyder (Scientific Python Development EnviRonment)
Il offre les fonctionnalités similaires à celles du fameux IDE MATLAB
Il est inclus dans le navigateur Anaconda
Spyder
59. Une formation
Il est développé par l'entreprise tchèque JetBrains
PyCharm offre la coloration syntaxique, l’auto-complétion
du code, la vérification d’erreurs en direct, un débogueur
graphique, la gestion des versions, la gestion des
environnements virtuels, la gestion de projet …etc
Intègre les frameworks de développement d’application
web tels que Django, Flask…
C’est un IDE au sens propre du terme qui est complet !
PyCharm
61. Une formation
Prend en charge plusieurs interpréteurs notamment
IPython à la base Jupyter et il est multiplateforme
On peut utiliser le débogueur avancé.
C’est un IDE, semblable à MATLAB et donc propose un
explorateur d’objets ou variables
Fenêtre d’aide et explorateur d’historique
Le choix de Spyder
69. Une formation
Interpréteur évolué :
Historisation des commandes et résultats
Mode de débogage avancé
Les commandes magiques
Affichage des graphiques en ligne
Gérer une session python
Mode IPython
73. Une formation
Un fichier Script Python porte l’extension *.py
Il y a 3 moyens selon la configuration actuelle de
l’exécuter :
1. Hors du projet dans l’invite de commande
2. Avec Spyder
3. Une commande magique IPython
Exécuter un fichier Script
79. Une formation
Au commencement, il y avait le ABC du projet
Ameoba …
L’idée est née en 80, concrétisée 1991 par G. Van
Rossum
Emprunt du nom «Python» d’un show télé !
Version majeure Python 3, sortie en 2008, avec une
refonte complète du langage, sans compatibilité
avec la version 2.x …
Pour en savoir davantage : >>> licence()
Historique
80. Une formation
En général, les commentaires servent à indiquer ce
que fait une instruction donnée ou un bloc de code
Utilités des commentaires :
Se repérer dans le code
Outil de documentation du code …
C’est une bonne pratique de programmation
Intérêt
86. Une formation
Un langage généraliste comme C++/Java …
C’est un langage de haut niveau et très intuitif
Il implémente plusieurs paradigmes de
programmation…
Utilisé par plusieurs entreprises ou organismes
(Google - NASA – NetFlix, Dropbox …)
Il est extensible avec d'autres langages (Cython, Jython)
Il est gratuit et open source
Python vs les autres langages
87. Une formation
Ce n’est pas dans la culture de Python de recourir à
la persistance de l’espace de travail courant
En Data Science, c’est particulièrement frustrant de
ne pas pouvoir réutiliser les données à travers
différentes sessions ou mieux de les partager
Intérêt
88. Une formation
Le choix de IPython comme fenêtre interactive et de
Spyder comme IDE n’est pas anodin
Contrairement à la fenêtre interactive de base, elle
dispose de commande magique pour gérer l’espace
de travail
Solution IPython et Spyder
92. Une formation
Il est toujours intéressant de garder les traces des
commandes déjà exécutées lors d’une session ou des
sessions précédentes
On pourra les réutiliser ou les partager dans un
fichier
IPython propose plusieurs manières d’accéder à son
système d’historisation
Intérêt
97. Une formation
Le *zen du Python* est une série de 20 aphorismes
donnant les grands principes de la programmation
Python ficelé par Style Guide for Python Code (PEP 8)
>>> import this
Autres référentiels :
• Google Python Style Guide
• The Best of the Best Practices (BOBP) Guide for Python
Les principes Zen de Python
105. Une formation
C’est un système composé de :
• L’interpréteur
• La librairie Standard Python
• Un ensemble de packages
Nécessaires au bon fonctionnement du code.
Un environnement python
115. Une formation
Conda est un package spécial de Anaconda
permettant de gérer les packages et les
environnements Python (global ou virtuels)
On peut alors installer, mettre à jour et supprimer des
packages
Créer un ou des environnements virtuels Python
Intérêt
119. Une formation
Un programme Python est généralement composé de
plusieurs fichiers sources, appelés modules
Leur nom est suffixé « .py »
Avantages des modules :
• réutilisation du code
• la documentation peut être incluse dans un module
• réalisation de services ou de données partagés
• partition de l'espace de noms du système
Les modules
120. Une formation
Lorsque l'on regroupe des fonctions dans un fichier
on crée un ensemble de fonctions que l'on nomme
"module"
Lorsque l'on cherche à regrouper des modules, on
parle de package
Les packages sont en fait des dossiers contrairement
aux modules qui sont des fichiers.
Une bibliothèque ou librairie est à la fois un
ensemble de packages + modules
Les packages
121. Une formation
Inclus les modules et packages suivants :
sys : fonctions et variables relatives aux opérations de
l’interpréteur
os : il permet d’accéder aux services du Système
d’exploitation
Fileinput : permet de lire et écrire dans des fichiers
Sets, Heaps, et Deques : des classes d’objets évolués et
additionnels pour structurer des données
Autres : time, random, re, shelve & json, itertools …
La librairie standard
128. Une formation
Pendant le processus de développement, on crée
des objets… qui ne sont, en fait que de
l’implémentation de pseudo-algorithmes en Python
Mais lorsque le code fonctionne, il est important de
jauger de l’efficience du code et de voir s’il n’existe
pas de moyen plus efficient d’aboutir aux mêmes
résultats.
Objectifs
129. Une formation
IPython propose des commandes simples et
intuitives mais surtout efficaces pour mesurer le
temps d’exécution et faire du profilage de la
consommation de mémoire.
Solutions IPython
133. Une formation
L’aide python fait référence à la documentation
associée à chaque fonction, module … de Python
Cette documentation sert notamment à :
• Se remémorer l’utilisation d’une fonction
• Découvrir d’autres paramètres ou d’autres usages
Objectifs
140. Une formation
Rarement on connait l’ensemble des fonctions
disponibles dans un package/module
Pour en savoir d’avantage sur les fonctions existantes
et leur utilisation, l’aide permet de visualiser des
démos et exemples…
Objectifs
144. Une formation
Python est en constante évolution et l’intérêt qu’il
suscite au près des grandes firmes ne va qu’accentuer
les défis que Python en tant que langage doit relever.
La communauté de développeurs veille à maintenir et
améliorer ou mieux à créer d’avantage de packages …
Ils rencontrent en pratique des défis et problèmes
qu’ils reportent souvent sur différents sites dédiés…
Intérêt
145. Une formation
En Français :
https://www.developpez.net/forums/f96/autres-langages/python-zope/
https://www.afpy.org/forums/forum_python/forum_general
En Anglais :
https://python-forum.io
https://www.reddit.com/r/learnpython/
https://github.com
http://stackoverflow.com
https://groups.google.com/forum/#!forum/comp.lang.python
Liens de forums
148. Une formation
L’objectif initial était de se familiariser avec les outils
nécessaires à la programmation Python
Mais également :
• Découvrir les différents IDE
• Définir un environnement de travail pour Python
• En savoir davantage sur le langage Python
Récapitulation
149. Une formation
Comprendre les éléments syntaxiques du langage
Faire des opérations mathématiques de base
Importer et sauvegarder les données de sources variées
Manipuler les données
Visualiser des graphiques 2D et 3D
Faire de la programmation scientifique
Les statistiques et les probabilités
Implémenter des algorithmes de ML
Développer des applications système comme web …
Aller plus loin