Vous êtes sur la page 1sur 37

Chapitre I: Introduction au langage PYTHON: Premiers Pas

réalisé par :
Wiem MIMOUN BEN HENIA

2019-2020
Avant Propos

Ce premier chapitre présente tout d’abord, les principales


particularités du langage de programmation Python et son
historique. Ensuite, il introduit aussi les caractéristiques d’édition des
programmes Python. Enfin, Il se clôture sur les différentes
implémentations possibles.
Plan
•Présentation de Python
1. Introduction •Pourquoi Python?
•Mode d’exécution

•Erreurs de syntaxe
2. Recherche des erreurs (debug) •Erreurs sémantiques
•Erreurs d’exécution

•Types de données
3. Types de Variables
•Affectation (Assignation)

•Pour éditer?
4. Installation de Python •ANACONDA: Installation et prise en main

•Applications
5. Applications: Premiers Pas
•Corrections

3
•Présentation de Python
1. Introduction •Pourquoi Python?
•Environnements de Python

Python: Historique

 1991 : Guido van Rossum conçoit Python à partir du langage ABC et publie la version 0.9.0 sur un
forum Usenet
 1996 : sortie de Numerical Python, ancêtre de numpy
 2001 : naissance de la PSF (Python Software Fundation)
 Les versions se succèdent… Un grand choix de modules est disponible, des colloques annuels
sont organisés, Python est enseigné dans plusieurs universités et est utilisé en entreprise…
 2006 : première sortie de Ipython
 2008: sorties simultanées de Python 2.6 et de Python 3.0
 2018: versions en cours des branches 2 et 3 : v2.7.0 et v.3.7.0

44
•Présentation de Python
1. Introduction •Pourquoi Python?
•Environnements de Python

Python?

Python est un langage Open Source* et qui possède une importante


communauté de développeurs
Il a une philosophie de conception qui met l'accent sur la lisibilité du code et
sur une syntaxe qui exprime des concepts avec les moindres lignes de code.
Il fournit de divers outils pour une programmation claire et concise.

* Gratuit: Python est placé sous Général Public License: www.python.org

55
•Présentation de Python
1. Introduction •Pourquoi Python?
•Environnements de Python

Python?

Langage Script
Tout comme MATLAB, Python fait partie des langages script interprétés contrairement
à Java, au C/C++ qui sont des langages compilés. Ce qui lui permet d’être plus rapide
au développement, de comporter moins de ligne (50% de moins). Par contre, Il est
plus lent à l’exécution.

6
•Présentation de Python
1. Introduction •Pourquoi Python?
•Environnements de Python

Pourquoi Python?

Syntaxe aisée
La syntaxe de Python est très simple et, combinée à de nombreux types de données
évolués (comme les listes, dictionnaires, tuples...), ce qui conduit à des programmes à
la fois très compacts et très lisibles. De plus, Python ne nécessite aucune déclaration
de variable. Les variables sont créées lors de leur première assignation.

7
•Présentation de Python
1. Introduction •Pourquoi Python?
•Environnements de Python

Pourquoi Python?

Portable
Python est portable* entre les différentes variantes de Unix ainsi que sur les OS
propriétaires comme Mac OS, Beos, MS-DOS et les différentes versions de Windows

*fonctionne sous plusieurs systèmes d'exploitation


8
•Présentation de Python
1. Introduction •Pourquoi Python?
•Environnements de Python

Pourquoi Python?

Peu d’erreurs
Tout comme Java, Python possède un système d’exception* qui facilite la gestion des
erreurs.
try:
print 1.0 / 0
except ZeroDivisionError:
print '*** n'a pas d'inverse ***
else : pass

9
•Présentation de Python
1. Introduction •Pourquoi Python?
•Environnements de Python

Pourquoi Python?

Plusieurs paradigmes de programmation


 Orienté Objets*
 Extensible**
 Modulable***
 Compact

Bien structuré et facile à appréhender

*Il supporte l'héritage multiple et la surcharge des opérateurs


** Au-delà de la multitude de librairies et de modules déjà existante, il est possible d’en développer pour ses propres besoins
***.Python permet de séparer les programmes en modules qui peuvent être réutilisés dans d'autres programmes Python
10
•Présentation de Python
1. Introduction •Pourquoi Python?
•Mode d’exécution

Mode d’exécution?

* Python est un langage d’interprétation et non pas de compilation


** transmettre à l’interpréteur Python le fichier script « .py »

source interpréteur résultat

source compilateur objet exécuteur résultat

11
•Erreurs de syntaxe
2. Recherche des erreurs (debug) •Erreurs sémantiques
•Erreurs d’exécution

* On appelle l’ensemble des techniques que l’on met en œuvre pour détecter et corriger tous
types d’erreurs « debug » (ou « débogage »).

** Il existe dans un programme trois principaux types d’erreurs:

Erreurs de syntaxe
Erreurs sémantiques
Erreurs d’exécution

12
•Erreurs de syntaxe
2. Recherche des erreurs (debug) •Erreurs sémantiques
•Erreurs d’exécution

Erreurs de Syntaxe

 Python ne peut exécuter un programme que si sa syntaxe est parfaitement correcte.


Dans le cas contraire, le processus s’arrête et vous obtenez un message d’erreur. Le
terme syntaxe se réfère aux règles que les auteurs du langage ont établies pour la
structure du programme.

Toute erreur à ce niveau peut modifier considérablement la signification du code, et


donc le déroulement du programme.

•Il faudra en particulier faire très attention à la casse et à la ponctuation!!!

13
•Erreurs de syntaxe
2. Recherche des erreurs (debug) •Erreurs sémantiques
•Erreurs d’exécution

Erreurs sémantiques

L’erreur sémantique est une erreur de logique*.


Elle persiste lorsque la séquence d’instructions de votre programme ne correspond
pas a l’objectif poursuivi.

La recherche des fautes de logique peut être une tâche ardue. C’est là que se
révélera votre aptitude à démonter toute forme résiduelle de « pensée magique » dans
vos raisonnements: Il faut analyser les instructions de votre script et tâcher les
opérations effectuées à la suite de chaque instruction.

* s’il existe une erreur de ce type dans un de vos programmes, celui-ci s’exécute parfaitement, en ce sens que vous n’obtenez aucun
message d’erreur, mais le résultat n’est pas celui que vous attendiez : vous obtenez autre chose

14
•Erreurs de syntaxe
2. Recherche des erreurs (debug) •Erreurs sémantiques
•Erreurs d’exécution

Erreurs d’exécution

 Les erreurs d’exécution (Run-time error) apparaissent seulement lorsque votre


programme fonctionne déjà, mais que des circonstances particulières se présentent*.

Ces erreurs sont également appelées des exceptions, parce qu’elles indiquent en
général que quelque chose d’exceptionnel (et de malencontreux) s’est produit.

Ce type d’erreurs persiste dans les programmes volumineux

Il existe des techniques particulières pour les gérer.

* par exemple, votre programme essaie de lire un fichier qui n’existe plus

15
•Types de données
3. Types de Variables
•Affectation (Assignation)

Python propose les outils standards de la programmation (1/2):

Données typées: Python propose les types usuels de la programmation: entier, réels,
booléens, chaîne de caractères.

Structures avancées de données: Gestion des collections de valeurs (énumérations, listes) et


des objets structurés (dictionnaires, classes)

Séquences d’instructions: possibilité d’écrire et d’exécuter une série de commandes sans


avoir besoin à intervenir entre les instructions.

Structures algorithmiques : les branchements conditionnels et les boucles.

16
•Types de données
3. Types de Variables
•Affectation (Assignation)

Python propose les outils standards de la programmation (2/2):

Outils de la programmation structurée : pouvoir regrouper du code dans des procédures et


des fonctions. Cela permet de mieux organiser les applications.

Possibilité de distribution des modules : soit directement par des fichiers « .py », soit sous
forme d’extensions prêtes à l’emploi (les librairies).

Python est « case sensitive », il différencie les termes écrits en minuscule et majuscule.

Attention : Etudiant, etudiant, ETUDIANT sont donc des variables différentes. Soyez attentifs !

 Des conventions de nommage existent.

.
17
•Types de données
3. Types de Variables
•Affectation (Assignation)

Nom de variables et noms réservés (1/2):

Sous Python, les noms de variables doivent en outre obéir à quelques règles simples :
• Un nom de variable est une séquence de lettres (a → z , A → Z) et de chiffres (0 → 9), qui doit
toujours commencer par une lettre.
• Seules les lettres ordinaires sont autorisées. Les lettres accentuées, les cédilles, les espaces,
les caractères spéciaux tels que $, #, @, etc. sont interdits, à l’exception du caractère _
(souligné).

18
•Types de données
3. Types de Variables
•Affectation (Assignation)

Nom de variables et noms réservés (2/2):

Attention : A ne pas utiliser comme nom de variable les 30 « mots réservés » ci-dessous* :

* ils sont utilisés par le langage Python


19
•Pour éditer?
4. Installation de Python
•ANACONDA : Installation et prise en main

Pour EDITER ?
Pas très utilisé !!!!
(+) mieux suivre l’exécution du programme.
(+) Messages d’erreur accessibles
(+) différent de l’exécution console
•Pour éditer?
4. Installation de Python
•ANACONDA : Installation et prise en main

ANACONDA est une distribution Python qui englobe plusieurs éditeurs et


contient un gestionnaire de paquets, de modules et un gestionnaire
d’environnement, nommé CONDA

Anaconda est indépendant de la plate-forme, vous pouvez donc


l'utiliser si vous êtes sous Windows, MacOS ou Linux

30
•Pour éditer?
4. Installation de Python
•ANACONDA : Installation et prise en main

31
Commandes de Base de Conda

Les lignes de commande sous Conda


conda info Vérifiez que conda est installé, vérifiez le numéro de version
conda update conda Mettre à jour conda à la version actuelle
conda install PACKAGENAME Installer un paquet inclus dans Anaconda
spyder Exécuter un paquet après l'installation, exemple Spyder*
conda update PACKAGENAME Mettre à jour tout programme installé
COMMANDNAME –help///conda install --help Aide en ligne de commande
Gestion des environnements
conda create --name py35 python=3.5 Créer un nouvel environnement nommé py35 et y installer Python 3.5.
activate py35 Activer le nouvel environnement pour l'utiliser
conda env list Donner une liste de tous les environnements virtuels créés et l’environnement activé est indiqué par un *.
conda create --clone py35 --name py35-2 Faire une copie exacte d'un environnement
conda list Répertorie tous les packages installés dans l’environnement actif
conda list --revisions Répertorier l'historique de tout changement dans l'environnement actuel
conda install --revision 2 Restaurer l'environnement actuel à une révision précédente
conda list --explicit > bio-env.txt Enregistrer l'environnement dans un fichier texte
conda env remove --name py35 Supprimer un environnement et tout ce qu'il contient
deactivate Désactiver l'environnement actuel
conda env create --file bio-env.txt Créer un environnement à partir d'un fichier texte
conda create --name bio-env biopython Commandes d'empilement: créer un nouvel environnement, nommé bio-env et installer le package biopython
Trouver des paquets conda
conda search PACKAGENAME Utiliser conda pour rechercher un PACKAGENAME
https://docs.anaconda.com/anaconda/packages/pkg-docs Afficher la liste de tous les forfaits dans Anaconda
Installation et mise à jour des packages
conda install jupyter Installer un nouveau package (Jupyter Notebook) dans l'environnement actif
jupyter-notebook Exécuter un package installé (Jupyter Notebook)
conda install --name bio-env toolz Installer un nouveau package (toolz) dans un environnement différent (bio-env)
conda update scikit-learn Mettre à jour le paquet scikit-learn dans l'environnement actuel
conda install --channel conda-forge boltons Installer un paquet (boltons) à partir d'un canal spécifique (conda-forge)
pip install boltons Installer un package directement à partir de PyPI dans l'environnement actif actuel à l'aide de pip
conda remove --name bio-env toolz boltons Supprimer un ou plusieurs packages (toolz, boltons) d'un environnement spécifique (bio-env)
Gestion de plusieurs versions de Python
conda create --name py34 python=3.4 Installer une version différente de Python dans un nouvel environnement nommé py34
activate py34 Basculer vers le nouvel environnement doté d'une version différente de Python
where python Afficher les emplacements de toutes les versions de Python actuellement dans le chemin 32
python --version Afficher les informations de Python actif dans l’environnement actuel
•Pour éditer?
4. Installation de Python
•ANACONDA : Installation et prise en main

Gestion des environnements virtuels

Créez un nouvel environnement

conda create --name ULTMECA

Pour utiliser ou «activer» le nouvel environnement:


activate ULTMECA

NB : Maintenant que vous êtes dans votre environnement « ULTMECA », toutes les
commandes conda que vous tapez s’appliqueront à cet environnement jusqu’à ce que
vous le désactiviez par la commande (deactivate)
Pour voir la liste de tous vos environnements, tapez:
conda info --envs
33
•Exercices
5. Exercices et Corrections
•Corrections

Applications
•Applications
5. Applications et Corrections
•Corrections

Exercice 1. Écrire un programme, qui définit 3 variables : une variable de type texte, une variable
de type nombre entier, une variable de type nombre décimal et qui affiche leur type.

Exercice 2. Affecter dans une même ligne les 3 variables précédemment définies.
•Exercices
5. Exercices et Corrections
•Corrections

Correction Exercice 1.
•Applications
5. Exercices et Corrections
•Corrections

Correction Exercice 2.