Académique Documents
Professionnel Documents
Culture Documents
Mohamed Bouraoui
bourawi.mohamed@gmail.com
AU 2017 - 2018
1
Installation de l’environnement de
développement
• Pour vérifier s’il existe un version python déjà installée :
$ python --version
• Et c’est parti!
3
Installation de l’environnement de
développement (3)
• L’interpréteur interactif
4
Opérateurs arithmétiques
• Les opérateurs arithmétiques en Python sont:
• + Pour l’addition
• - Pour la soustraction
• * Pour la multiplication
• / Pour la division
6
Types entier et réel
• Un autre type arithmétique existe en
python c’est le type « float »
• Un float contient un « . »
7
Les variables
• Pour Créer une variable en Python, il suffit d’utiliser l’opérateur
d’affecation « = »
• Incrémentation
• Décrémentation
• Multiplication
• Division
8
Application
# Valeur du volume courant d'eau dans le barrage du Bir Mcherga
reservoir_volume = 4.445e8
# Le quantité de pluie
precipitation = 5e6
9
Les variables (2)
• Affectations multiples
• Conversion de types
10
Opérateurs de comparaison
• Il est possible d’utiliser des variables de type Booléen ( bool )
12
Les chaînes de caractères
• Le type string en python permet de manipuler les chaînes de caractères.
13
Les chaînes de caractères (2)
• Une méthode prédéfinie len permet de retourner la longueur d’une chaîne
de caractères
• Application:
Pour deux chaînes de caractères que vous saisissez appelées part1 et part2, écrire
le script permettant de retourner:
• True Si leur concaténation (Espace comme séparateur) est valide comme « Tweet »
• False Sinon
• Notes:
• Une Tweet ne dépasse pas 140 caractères
• La fonction input() permet d’enter des caractères
14
Types et conversion
• On vient d’utiliser des variables de types int, float, bool et str.
• On peut vérifier le type d’une variable par l’usage de la méthode type
15
Application
#Déclarer les variables suivantes
depenses_lundi = "30"
depenses_mardi = "65"
depenses_jeudi = "12"
depenses_vendredi = "45"
depenses_dimande = "20"
#Ecrire un programme qui affiche: « Durant cette semaine vous avez dépensé
#X dinars »
16
String : autres méthodes
• Il existe plusieurs méthodes
permettant de gérer les chaînes de
caractères, on cite:
• title, islower, count…
https://docs.python.org/3/library/stdtyp
es.html#string-methods
17
Application
• Consultez la documentation et gérez vos chaînes de caractères!
18
Le formatage des chaînes
• Une méthode particulièrement utile est .format.
• Elle permet de construire des chaînes de caractères tout en suivant
des « templates ».
• Exemple:
19
Application
#Déclarer les variables suivantes
city = "Tunis"
temperature_max = 37
temperature_min = 12
unit_temp = "degrees Celsius"
notif = "Les prévisions pour aujourd\'hui pour" + city + ": Température entre " +
str(temperature_min) + " et " + str(temperature_max) + " " + temperature_unit + ".
20
Définir des fonctions
• On définit une fonction via le mot clé def.
• Exemple: une fonction pour le calcul du volume d’un cylindre
23
Les arguments par défaut
• Il est possible de définir un fonction avec un argument par défaut.
Exemple:
def cylinder_volume(height, radius, unité = "m3"):
"""
Affiche le volume d’un cylindre
L’unité de mesure par défaut est m3
"""
24
Structures conditionnelles
if poids_en_kg < 25:
print("votre valise est acceptée")
26
Application
• Implémenter la fonction cylinder_surface avec la signature suivante
27
Les listes
• Une collection de données peut être représentée en plusieurs
structures. Pour une suite ordonnée de valeur, on utilise Les listes.
Jours_semaine = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "samedi" , "dimanche"]
29
Les listes (2)
• Plusieurs fonctions nous permettent de manipuler les listes
>>> liste_notes=["11","12.5","16","9","17"]
>>> "-".join(liste_notes)
'11-12.5-16-9-17'
>>> liste_notes.append("19")
>>> print(liste_notes)
['11', '12.5', '16', '9', '17', '19']
33
Application2: Construire une liste
• Définir une fonction « html_liste » qui permet de convertir une liste
de valeurs en une liste HTML.
• Exemple: >>> list_to_html = ['first string', 'second string']
>>> html_list(list_to_html)
<ul>
<li>first string</li>
<li>second string</li>
</ul>
Exemple:
liste_menu_du_jours = [‘Spaghetti’, ‘Salade César’, ‘Escalope panné’]
37
Les dictionnaires
• Les dictionnaires sont une structure de données qui sauvegardent une paire
de données de la formé clé valeur.
• Exemple: elements = {'hydrogen': 1, 'helium': 2, 'carbon': 6}
>>> print(elements['carbon'])
• Pour accéder à un élément: 6
Une autre manière pour accéder à un élément est l’usage de la méthode get
>>> print(elements.get(‘carbon’))
6 38
Application
• On souhaite connaitre le nombre d’utilisateurs de notre site par pays.
On détient uniquement d’une liste contenant les pays des visiteurs.
• Ecrire un script permettant de:
• Créer un dictionnaire pays_count de la forme {pays, nombre de
visiteurs}
• Ecrire le script dans un fichier stats.py
• Afficher le résultat
• Ecrire un script qui retourne les clé(s) relatives à une valeurs donnée.
• Exemple:
• d = {'m': 1, 'n': 2, 'e': 4, 't': 1, 'v': 1}
• get_keys(d,1) retourne ['m', 't', 'v']
40
Les structures composites
• Selon notre besoin de représentation des données, il est possible de
construire des structures composites de données.
• Exemple, soit le dictionnaire suivant:
elements = {'hydrogen': {'number': 1, 'weight': 1.00794, 'symbol': 'H'},
'helium': {'number': 2, 'weight': 4.002602, 'symbol': 'He'}}
• Il est possible d’accéder aux données ainsi:
>>> print(elements.get('hydrogen'))
{'number': 1, 'weight': 1.00794, 'symbol': 'H'}
>>> print(elements.get('hydrogen').get('weight'))
1.00794
>>> print(elements['hydrogen']['weight'])
1.00794 41
Application
• Définir une fonction calcul_annuel qui permet de calculer les revenus
annuel.
• Les données sont représentés ainsi:
revenus_mensuels = {'Janvier': [54, 63], 'Février': [64, 60], 'Mars': [63, 49],
'Avril': [57, 42], 'Mai': [55, 37], 'Juin': [34, 32],
'Juillet': [69, 41, 32], 'Aout': [40, 61, 40], 'Septembre': [51, 62],
'Octobre': [34, 58, 45], 'Novembre': [67, 44], 'Décembre': [41, 58]}
42
Les « tuples »
• Il est parfois utile de sauvegardé un ensemble corrélé de données.
• Exemple latitude_longitude = (10.3271, 11.5473)
>>> latitude_longitude[0]
10.3271
>>> latitude_longitude[1]
11.5473
>>>
45
La bibliothèque standard
• Python offre une bibliothèque standard « Python Standard Library » qui inclut
un ensemble de bibliothèques souvent utiles.
• Importer un module est via le mot clé import. Exemple: import math
print(math.factorial(3))
47
Application
• En utilisant la librairie « os » , écrire un script permettant d’afficher
les documents dans le répertoire courant.
• Ecrire un script permettant de renommer tous les fichiers dont
l’extension est « txt ».
• En utilisant la librairie collections, réécrire le script « pays_count »
48
Des modules « Tierce-partie »
• Mise à part la bibliothèque standard pour python, il existe des
bibliothèques dites « Third Party ».
Pour Parcourir: https://readthedocs.org
• Une sélection:
• requests – Un Outil d'accès à des Web APIs.
• Flask - Un Framework pour le Web "lightweight".
• Django - Un Framework le Web plus complet.
• NumPy - Pour l'algèbre linéaire.
• pandas - Bibliothèque à outils d'analyse de données
• matplotlib - Graphes 2D.
• Pillow - Traitement d'images.
• pyglet - Développement de jeux. 49
Les « prérequis » d’une librairie
• Une librairie tierces partie détient fréquemment des dépendances.
Ces dépendances sont généralement décrites dans un fichier
requirements.txt.
• Exemple: bs4==0.0.1
pytz==2016.7
requests==2.11.1
• Pour installer une librairie avec ses prérequis, on utilise
50
Environnement de développement: virualenv
• « Virtualenv »: Comme solution aux problèmes d’incompatibilité entres
des versions de librairies dans différents projets, python utilise les
environnements virtuels ou « virtualenv ».
• Installer: pip install virtualenv
• Créer: virtualenv <NOM_DE_VOTRE_ENV_V>
• Activer:
• Linux: source bin/activate
• Windows: Scripts\Activate
• Désactiver:
• La commande est: deactivate
51
Référence: https://virtualenv.pypa.io/en/stable/userguide/
Application
• Consultez les deux librairies suivantes:
• Requests
• http://docs.python-requests.org/en/master/
• BeautifulSoup
• https://www.crummy.com/software/BeautifulSoup/bs4/doc/
• Créer un virtualEnv « CrawlerEnv » intégrant les deux librairies
• On souhaite extraire les données de l’annuaire du « El Ghazela
Technopark » pour avoir toutes les données sur les entreprise au
pôle. Lien: http://www.elgazala.tn/annuaire/elgazala
• A vos IDE!
52
POO : Les classes
Geo.py • Rectangle représente le nom de la
classe.
• largeur et longueur sont les
attributs de la classe.
• __init__(self, largeur, longueur)
est le constructeur de la classe.
Test_class.py
• Rect = Rectangle(5,7) est l’instanciation
d’un objet de type Rectangle
• On accède à un attribut via
nom_objet.nom_attribut
54
Les variables de classe
• UNITS est une variable de
classe
• On accède une variable de
classe via:
NomClasse.NOMVARIABLE
55
Les variables prédéfinies
https://docs.python.org/3/reference/datamodel.html#specialnames 57