Passer au contenu principal
Page

Chapitre 2 : Introduction à Python

Conditions d’achèvement

 

7. Introduction à python

 

7.1 Langages                                                                                         

7.1.1 Langage humain                                                                                                           

Si vous arrivez à comprendre ces suites de symboles étranges et déconcertants que sont les lettres de l'alphabet, c'est parce que nous respectons certaines conventions, dans le langage et dans l'écriture. C'est un système de communication qui permet aux humains l'échange verbal ou symbolique d'énoncés.

7.1.2 Langage machine                                                                                                         

Notre ordinateur se fonde aussi sur un langage pour communiquer avec nous ou avec lui-même. Les opérations qu'un ordinateur peut effectuer à la base sont des plus classiques et constituées de l'addition de deux nombres, leur soustraction, leur multiplication, leur division, entière ou non. Et pourtant, ces cinq opérations suffisent amplement à faire fonctionner les logiciels de simulation les plus complexes ou les jeux super-réalistes.

Un programme est juste une longue séquence d'instructions qui sont exécutées par le processeur. Elles sont exécutées séquentiellement sauf quand une instruction de saut transfère l'exécution à une autre instruction que celle qui suit.

Alors que le langage machine était le seul disponible à l'aube des ordinateurs, il est aujourd'hui très long et fastidieux de développer en binaire. On a donc inventé des langages de programmation pour faciliter la communication avec l'ordinateur.

7.1.3 Langages de programmation                                                                                       

Les langages de programmation sont des langages bien plus faciles à comprendre pour nous. D'une manière similaire à une langue naturelle, un langage de programmation est composé d'un alphabet, d'un vocabulaire, de règles de grammaire et de significations.

Les langages de programmation permettent de décrire d'une part les structures des données qui seront manipulées par l'appareil informatique, et d'autre part d'indiquer comment sont effectuées les manipulations, selon quels algorithmes. Ils servent de moyens de communication par lesquels le programmeur communique avec l'ordinateur, mais aussi avec d'autres programmeurs ; les programmes étant d'ordinaire écrits, lus, compris et modifiés par une équipe de programmeurs


7.2 Bref histoire du Python                                                                

  •    Python a été conçu à la fin des années 1980 par Guido van Rossum au Centrum Wiskunde & Informatica (CWI) aux Pays-Bas comme un successeur du langage ABC (lui-même inspiré par SETL), capable de gérer les exceptions et de s'interfacer avec le Système d'exploitation Amoeba.
  •    Sa mise en œuvre a commencé en décembre 1989. Van Rossum a assumé l'entière responsabilité du projet, en tant que développeur principal, jusqu'au 12 juillet 2018, date à laquelle il a annoncé ses "vacances permanentes" de ses responsabilités en tant que dictateur bienveillant de Python pour la vie, un titre que la communauté Python lui a conféré pour refléter son long- engagement à long terme en tant que principal décideur du projet.
  •    En janvier 2019, les développeurs principaux actifs de Python ont élu Brett Cannon, Nick Coghlan, Barry Varsovie, Carol Willing et Van Rossum à un "comité directeur" de cinq membres pour diriger le projet.
  •    Python 2.0 a été publié le 16 octobre 2000 avec de nombreuses nouvelles fonctionnalités majeures, notamment un récupérateur de déchets à détection de cycle et la prise en charge d'Unicode.
  •    Python 3.0 est sorti le 3 décembre 2008. Il s'agissait d'une révision majeure du langage qui n'est pas complètement rétro compatible. Beaucoup de ses principales fonctionnalités ont été rétroportées vers les séries de versions Python 2.6.x et 2.7.x. Les versions de Python 3 incluent l'utilitaire 2to3, qui automatise (au moins partiellement) la traduction du code Python 2 en Python 3
  •    La date de fin de vie de Python 2.7 a été initialement fixée à 2015, puis reportée à 2020 par crainte qu'un grand corps de code existant ne puisse être facilement transféré vers Python 3.

7.3 Pourquoi Python pour ce programme Data?                                                     

Python est polyvalent et flexible et a une lisibilité facile, à la fois facile à apprendre et riche en possibilités.

Il est, en outre, très facile d'étendre les fonctionnalités existantes, il existe ce qu'on appelle des bibliothèques qui aident le développeur à travailler sur des projets particuliers. Les bibliothèques Python

telles que Pandas aident les individus à nettoyer les données et à effectuer des manipulations avancées.

Nous allons voir plus en détail ces bibliothèques en partie 02.

Concrètement,  voici ceux qu'on peut faire avec Python :

  •       de petits programmes très simples, appelés scripts, chargés d'une mission très précise sur votre ordinateur ;    
  • des programmes complets, comme des jeux, des suites bureautiques, des logiciels multimédias, des clients de messagerie…         
  •  des projets très complexes, comme des progiciels (ensemble de plusieurs logiciels pouvant fonctionner ensemble, principalement utilisés dans le monde professionnel).

7.4 Un langage de programmation interprété                                                      

Avant d'aller plus loin, il nous reste quelques notions importantes à tenir.

  •    Interpreted language: Python est un langage de programmation interprété, c'est-à-dire que les instructions que vous lui envoyez sont « transcrites » en langage machine au fur et à mesure de leur lecture.
  •    Compiled language: D'autres langages (comme le C / C++) sont appelés « langages compilés » car, avant de pouvoir les exécuter, un logiciel spécialisé se charge de transformer le code du programme en langage machine. On appelle cette étape la « compilation ». À chaque modification du code, il faut rappeler une étape de compilation.
  •    Une petite mise en garde: La plupart des langages de programmation peuvent avoir à la fois des implémentations compilées et interprétées - le langage lui-même n'est pas nécessairement compilé ou interprété. Cependant, pour des raisons de simplicité, ils sont généralement appelés comme tels. Python, par exemple, peut être exécuté en tant que programme compilé ou en tant que langage interprété en mode interactif. En revanche, la plupart des outils de ligne de commande, des CLI et des shells peuvent théoriquement être classés comme des langages interprétés.

7.5 Installer Python avec Anaconda                                                                       

 est un gestionnaire de packages, un gestionnaire d'environnement et une distribution

Python qui contient une collection de nombreux packages open source. Ceci est avantageux car lorsque vous travaillez sur un projet de science des données, vous constaterez que vous avez besoin de nombreux packages différents

  • numpy
  • scikit-learn
  • scipy pandas
  • ...

avec lesquels une installation d'Anaconda est préinstallée. Si vous avez besoin de packages supplémentaires après l'installation d'Anaconda, vous pouvez utiliser le gestionnaire de packages, conda ou pip d'Anaconda pour installer ces packages.

Ceci est très avantageux car vous n'avez pas à gérer vous-même les dépendances entre plusieurs packages. Anaconda permet même de basculer facilement entre Python 2 et 3 (vous pouvez en savoir plus ici). En fait, une installation d'Anaconda est également la méthode recommandée pour installer Jupyter Notebooks

7.5.1 Téléchargez et installez Anaconda                                                                             

1.   Accédez au site Web de Anaconda et choisissez un programme d'installation graphique - Python 3.x

(A), 64 - Bit ou 32 - Bit


2.   Localisez votre téléchargement et double-cliquez dessus.




3.Lorsque l'écran ci-dessous apparaît, cliquez sur Next.

5. Cliquer sur Next

7. Il s'agit d'une partie importante du processus d'installation. L'approche recommandée est de ne pas cocher la case pour ajouter Anaconda à votre chemin. Cela signifie que vous devrez utiliser Anaconda Navigator ou l'invite de commande Anaconda (située dans le menu Démarrer sous "Anaconda") lorsque vous souhaitez utiliser Anaconda (vous pouvez toujours ajouter Anaconda à votre PATH plus tard si vous ne cochez pas la case) . Si vous voulez pouvoir utiliser Anaconda dans votre invite de commande (ou git bash, cmder, powershell, etc.), veuillez utiliser l'approche alternative et cocher la case.


 


7.5.1.1 Ajouter Anaconda au chemin (facultatif)                                                                                           

Ceci est une étape optionnelle. C'est dans le cas où vous n'avez pas coché la case à l'étape 6 et que vous souhaitez maintenant ajouter Anaconda à votre chemin. L'avantage de ceci est que vous pourrez utiliser Anaconda dans votre invite de commande, Git Bash, cmder etc.

1.   Ouvrez une invite de commande.

2. Vérifiez si Anaconda a déjà été ajouté à votre chemin. Entrez les commandes ci-dessous dans votre invite de commandes. Ceci vérifie si vous avez déjà ajouté Anaconda à votre chemin. Si vous obtenez une erreur de commande non reconnue comme dans le côté gauche de l'image ci-dessous, passez à l'étape 3. Si vous obtenez une sortie similaire au côté droit de l'image ci-dessous, vous avez déjà ajouté Anaconda à votre chemin.


3.   Si vous ne savez pas où se trouve votre conda et / ou python, ouvrez une invite Anaconda et saisissez les commandes suivantes. Cela vous indique où se trouvent conda et python sur votre ordinateur.


4.   Ajoutez conda et python à votre CHEMIN. Pour ce faire, accédez à vos variables d'environnement et ajoutez la sortie de l'étape 3 (incluse dans le rectangle rouge) à votre chemin.

 



5.   Ouvrez une nouvelle invitation de commande. Essayez de taper


dans l'invite de commande pour vérifier si tout s'est bien passé.

 8 Premier pas avec Jupyter Notebook - Python                              

8.1 Introduction à Jupyter Notebook                                                                         

 est une application Web open source qui vous permet de créer et de partager

des documents contenant du code en direct, des équations, des visualisations et du texte narratif. Les utilisations incluent: le nettoyage et la transformation des données, la simulation numérique, la modélisation statistique, la visualisation des données, l'apprentissage automatique et bien plus encore.

Jupyter Notebook est un environnement interactif pour écrire et exécuter du code. L'ordinateur portable est capable d'exécuter du code dans un large éventail de langues. Cependant, chaque bloc-notes est associé à un seul noyau. Ce bloc-notes est associé au noyau(kernel) IPython, exécute donc le code Python.

8.2 Notions de base sur Jupyter Notebook                                                               

8.2.1 Jupyter Notebook Dashboard                                                                                                       

Tout d'abord lancer le navigateur Anaconda dans votre ordinateur.

Lorsque vous démarrez le serveur de Jupyter Notebook pour la première fois, votre navigateur s'ouvre sur le tableau de bord du bloc-notes. Le tableau de bord sert de page d'accueil au bloc-notes. Son objectif principal est d'afficher les cahiers et les fichiers dans le répertoire courant. Par exemple, voici une capture d'écran de la page du tableau de bord pour le répertoire d'exemples dans le référentiel Jupyter:

Le haut de la liste des notebooks affiche la chapelure cliquable du répertoire actuel. En cliquant sur ces chapelures ou sur des sous-répertoires de la liste des notebooks, vous pouvez naviguer dans votre système de fichiers.

Pour créer un nouveau bloc-notes, cliquez sur le bouton "New" en haut de la liste et sélectionnez un noyau dans la liste déroulante (comme illustré ci-dessous). Les noyaux répertoriés dépendent de ce qui est installé sur le serveur. Certains des noyaux de la capture d'écran ci-dessous peuvent ne pas exister pour vous.

La liste des notebooks affiche du texte vert «En cours d'exécution» et une icône de notebook verte à côté des notebooks en cours d'exécution (comme illustré ci-dessous). Les notebooks continuent de fonctionner jusqu'à ce que vous les fermiez explicitement. La fermeture de la page du notebook n'est pas suffisante.

Pour arrêter, supprimer, dupliquer ou renommer un notebook , cochez la case à côté et un tableau de commandes apparaîtra en haut de la liste des blocs-notes (comme illustré ci-dessous). Vous pouvez également utiliser les mêmes opérations sur les répertoires et les fichiers, le cas échéant.


Pour voir tous vos cahiers en cours d'exécution avec leurs répertoires, cliquez sur l'onglet «En cours d'exécution». Cette vue fournit un moyen pratique de suivre les blocs-notes que vous démarrez lorsque vous parcourez le système de fichiers sur un serveur de bloc-notes de longue durée.

8.3 Présentation de UI(User interface) du notebook                                              

Nous avons donc créé donc premier notebook: PythonModule01 - Practices.ipynb, et nous allons poursuivre ce module en utilisant ce notebook.  Il nous reste encore quelques notions de base à tenir.

Si vous créez un nouveau notebook ou ouvrez un notebook existant, vous serez redirigé vers l'interface utilisateur du notebook (UI). Cette interface utilisateur vous permet d'exécuter du code et de créer des documents de notebook de manière interactive.


8.3.1 Mode édition                                                                                                                                     

Le mode d'édition est indiqué par une bordure de cellule verte et une invite s'affiche dans la zone de l'éditeur:

8.3.2 Mode commande                                                                                                                      

Le mode de commande est indiqué par une bordure de cellule grise avec une marge gauche bleue:

Lorsque vous êtes en mode commande, vous pouvez modifier le notebook  dans son ensemble, mais pas taper dans des cellules individuelles. Plus important encore, en mode commande, le clavier est mappé à un ensemble de raccourcis qui vous permettent d'effectuer efficacement des actions de notebook  et de cellule. Par exemple, si vous êtes en mode commande et que vous appuyez sur c , vous copiez la cellule actuelle - aucun modificateur n'est nécessaire.

N'essayez pas de taper dans une cellule en mode commande, des choses inattendues vont arriver.

Accédez au mode de commande en appuyant sur Échap ou en utilisant la souris pour cliquer en dehors de la zone d'édition d'une cellule.

8.3.3 Navigation avec la souris                                                                                                                 

Toutes les fonctions de navigation et les actions du notebook  sont disponibles à l'aide de la souris dans la barre de menus et la barre d'outils, qui se trouvent toutes deux au-dessus de la zone principale du blocnotes:

8.3.4 Navigation avec le clavier                                                                                                                

L'interface utilisateur modale du Jupyter Notebook a été optimisée pour une utilisation efficace du clavier. Ceci est rendu possible en ayant deux ensembles différents de raccourcis clavier: un ensemble qui est actif en mode édition et un autre en mode commande.

Les raccourcis clavier les plus importants sont Enter , qui passe en mode édition, et Esc , qui passe en mode commande.

En mode édition, la plupart du clavier est dédié à la saisie dans l'éditeur de cellule. Ainsi, en mode édition, il y a relativement peu de raccourcis. En mode commande, l'intégralité du clavier est disponible pour les raccourcis,

il y en a donc beaucoup plus. La boîte de dialogue Help -> Keyboard Shortcuts répertorie les raccourcis disponibles. A vous de jouer.

8.4 Premiers tests                                                                                                      

8.4.1 Texte "Hello world"                                                                                                                           


 

8.4.2 Calculs natifs                                                                                                                                    

8.4.2.1 Saisir un nombre                                                                                                                             

Ceci ne semble pas compliqué mais, dernier, cela signifie que nous saisissons un nombre et notebook le renvoie, votre saisie est en accord avec sa syntaxe.

8.4.3 Opérations                                                                                                                                       

8.4.3.1 Addition, soustraction, multiplication, division                                                                            

Nous vous présentons les principaux opérateurs de Python, qui vont vous servir pour la grande majorité de vos programmes.

En fait, le problème vient en grande partie de la façon dont les nombres à virgule sont écrits dans la mémoire de

votre ordinateur. C'est pourquoi, en programmation, on préfère travailler autant que possible avec des nombres entiers. Cependant, vous remarquerez que l'erreur est infime et qu'elle n'aura pas de réel impact sur les calculs. Les applications qui ont besoin d'une précision mathématique à toute épreuve essayent de pallier ces défauts par d'autres moyens mais ici, ce ne sera pas nécessaire.

A vous de rester le reste des opérations.

8.4.3.2 Division entière et modulo                                                                                                             

Si vous avez testé la division, vous vous êtes rendu compte que le résultat est donné avec une virgule flottante: