Vous êtes sur la page 1sur 34

Module: Intelligence Artificielle

Chapitre 2: Initiation au langage Python

Niveaux: 5SIM & 5infoB


Equipe IA

Année universitaire: 2020/2021


Introduction à Python
Types de données
Structures de contrôle
Fonctions
Manipulation des fichiers
Importation de modules
Introduction à Python
Types de données
Structures de contrôle
Fonctions
Manipulation des fichiers
Importation de modules
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

1. HISTORIQUE

Fondateur Guido van Rossum


Diplômes Mastère en Mathematiques, Master en Informatique
Quand et où ? Créé à Amsterdam durant Noël en 1989

4
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

2. PYTHON, C’EST QUOI ?

§ Python est un langage de programmation facile à apprendre

§ Python est libre et a un code source et un interpréteur compatibles avec le protocole GNU General Public Licence (GPL).

§ Python est un langage de programmation avancé qui permet à la fois la programmation fonctionnelle et la programmation
orientée objet (POO)

§ Pyhton est un langage de programmation à usage général. Il est utilisé dans plusieurs domaines :

Interactions
avec les bases
de données
Sciences de

données
Applications de …
développement
avec interfaces
graphiques
5
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

3. CARACTÉRISTIQUES DE PYTHON
§ Dynamique : les objets peuvent changer au cours de l’exécution

§ Python utilise l’indentation au lieu de la paire d’accolades “{ }” pour délimiter les


blocs d’instructions

§ Les instructions multiples sur la même ligne sont séparées par “;”

§ Le symbole “#” est utilisé pour commenter une ligne et """ """ pour commenter
plusieurs lignes

§ Les variables n’ont pas besoin d’être déclarées : typage dynamique

§ Python est un langage POO

§ La programmation fonctionnelle est possible

§ En Python, les classes et la POO ne sont pas nécessaires pour la programmation


quotidienne
6
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

4. AVANTAGES DE PYTHON

Simple

Facile à Extensible
apprendre

Open-source Langage
avancé

Python

Intégré
Interprétable

Bibliothèques
Transplantable riches

Orienté-objet
7
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

5. CLASSEMENT PAR POPULARITÉ

8
Introduction à Python
Types de données
Structures de contrôle
Fonctions
Manipulation des fichiers
Importation de modules
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

1. TYPES DE DONNÉES PYTHON

10
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

2. TYPAGE DYNAMIQUE

§ Variable Python = référence à une adresse mémoire

§ En Python, un type est relatif à un objet et une variable n’a pas de type

a = [1,2,3]
#type(a)
a = "Python"
#type(a)

§ Dans le code en haut, [1,2,3] est de type liste, "Python“ est de type chaîne de caractères (str) et la variable a n’a pas de
type. C’est seulement une référence à un objet qui peut être un objet de type liste ou un objet de type chaîne de
caractères.

11
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

2. TYPAGE DYNAMIQUE

Les entrées :
§ Pour effectuer une entrée au clavier on peut utiliser la fonction input()
§ Input() effectue un typage dynamique x = input("entrer une valeur entière :")
#type(x)
§ Il est possible d’utiliser raw_input() pour x = raw_input("entrer une valeur flottante :")
forcer la saisie en mode texte #type(x)
f = float(x) # conversion en flottant
#type(f)

x = 5
Les sorties : Y = 3
§ Pour effectuer une sortie on utilise print print x #5
print "somme: ", x + y #8
Print "différence: ", x – y #2
print "produit: ", x * y #15
print "produit: %d" % (x * y) #15
12
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

3. CATÉGORISATION DES TYPES DE DONNÉES

Mutable Vs Non mutable :


§ Le contenu des objets non mutables ne peut pas changer après leur création

Ordonné Vs non ordonné :


§ Une séquence est un conteneur ordonné d’éléments indicé par un entier
§ 3 types de séquences prédéfinis : Chaînes, listes, tuples
§ Indexation positive – indexation négative

13
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

4. LISTES

§ Liste = séquence mutable d’élements séparés par virgules entre crochets [ ]


§ C’est le type de données le plus polyvalent en python
§ Les éléments d’une liste peuvent avoir des types différents
§ Chaque élément est accessible par son indice

Suppression Listes: Mise à jour


(del) Opérations (append, insert)
communes

Opérateurs sur
Accès listes (+/*)

14
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

4. LISTES

Fonctions sur les listes python :

Méthodes des listes python :

15
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

5. TUPLES

§ Tuple = séquence non mutable d’élements séparés par virgules entre parenthèses ()
§ Points communs avec les listes :
§ Un tuple est une séquence Tuples:
Suppression Mise à jour
(del) Opérations (append, insert)
§ Les éléments d’un tuple peuvent être de types différents communes

§ Différences avec les listes :


§ Les tuples sont non mutables : Une fois initialisé, un Opérateurs sur
Accès listes (+/*)
tuple ne peut pas être modifié.
à Code plus protégé : privilégier l’usage des tuples à la
place des listes lorsque possible

§ Fonctions sur les tuples python


16
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

6. DICTIONNAIRES

§ Dictionnaire = collection non ordonnée de paires de clés-valeurs

§ Chaque clé-valeur du dictionnaire et séparée par deux points “:”. Les paires clés-valeurs sont
séparées par deux points “:” et tout le dictionnaire est défini entre accolades { }

§ La clé est généralement unique et le type de la clé n’est mas modifiable. Si la clé est répétée, la
nouvelle paire clé-valeur remplace l’ancienne paire.

§ Les valeurs n’ont pas besoin d’être uniques et peuvent avoir n’iporte quel type de données. Dictionnaires:
Opérations
§ Un dictionnaire a le format suivant : communes

D = {clé1: valeur1, clé2: valeu2}


Suppression Modification
§ Généralement utilisé en prensence de grand volume (del)
Accès
de données

17
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

6. DICTIONNAIRES

Fonctions intégrées sur les dictionnaires :

has_key(x) keys() values()


Méthodes intégrées sur les dictionnaires :

items() clear() copy()

update(x) update(x) get(x, [,y])

pop() popitem()(x)

18
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

7. CHAÎNES DE CARACTÈRES

§ Chaîne/String = séquence de zéro ou plusieurs caractères


§ En python les chaînes sont non mutables et sont semblables aux chaînes de caractères constantes dans C et C++
§ Une chaîne peut être définie entre simple quotes, double quotes ou triple quotes …

nom = 'Nefissa'
nom = "Nefissa"
nom = """Nefissa"""

§ Python n’a pas de type Char dédié : un caractère est une chaîne de longueur 1
§ Les chaînes python ne finissent pas par “\0”

19
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

7. CHAÎNES DE CARACTÈRES

Méthodes :

20
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

7. CHAÎNES DE CARACTÈRES

Formattage : Python supporte la sortie de chaînes formattée via l’opérateur %

print("My name is %s and my age is %d!" %('AI', 63))


# Sortie : My name is AI and my age is 63!

Format Description
%c Character and its ASCII code
%s String
%d Signed integer (decimal)
%u Unsigned integer (decimal)
%f Floating number (decimal point sign)
%p Pointer (print memory address of a value using hexadecimal)

21
Introduction à Python
Types de données
Structures de contrôle
Fonctions
Manipulation des fichiers
Importation de modules
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

1. STRUCTURE CONDITIONNELLE IF

§ Python supporte 3 structures de contrôle : if, for et while


§ Python ne supporte pas les blocs switch
§ Forme générale d’un bloc if :
if condition 1 :
Traitement 1…
elif condition 2 :
Traitement 2…
elif condition 3:
Traitement 3…
else:
Traitement 4…

23
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

2. STRUCTURES ITÉRATIVES WHILE ET FOR

Boucle while while(condition d’exécution) :


Traitement 1…

§ Exécute une même tâche de manière répétitive sous une certaine condition

§ Lorsque la condition d’un while ne donne jamais un Booléen faux, la boucle ne s’arrête jamais à Boucle infinie
ages = [6,1,60]
for num in ages:
if num == 6 :
for objet_iter in sequence : print('he is a boy, his age is %d'%num)
Boucle for if num == 60 :
Traitement print('he is an oldman, his age is %d'%num)
if num == 1 :
print('he is a baby, his age is %d'%num)

§ En python, la boucle for peut traverser n’importe quels éléments d’une séquence, telle qu’une liste, un dictionnaire ou
un string

§ Différence avec la boucle for classique : En python, la boucle for accepte en argument un objet itératif et un élément
24
est itéré à chaque fois
Introduction à Python
Types de données
Structures de contrôle
Fonctions
Manipulation des fichiers
Importation de modules
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

1. DÉFINITION ET APPEL D’UNE FONCTION

§ Une fonction est une séquence d’instructions regroupées sous un nom et s’exécutant à la demande
§ Python offre un nombre de fonctions intégrées (built-in functions). Il est également possible de créer ses propres
fonctions (user-defined functions)
§ Une fonction peut avoir zéro ou plusieurs arguments et zéro, une ou “plusieurs” valeurs de retour
§ Dans le cas de “plusieurs” valeurs de retours séparées par des virgules, elles sont retournées dans un tuple
§ Bloc_instructions est obligatoire. Si la fonction ne fait rien, le remplacer par le mot clé pass

# Définition de la fonction
def my_abs(x) :
def nom_fonction (paramètres_formels) : """ retourne la valeur absosule de x """
""" Description de la fonction """ if x >= 0 :

< Bloc_instructions > return x


else :
return valeur_de_retour
return –x
# Appel de la fonction my_abs(-2) # sortie : 2
nom_fonction (paramètres_effectifs) 26
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

2. PORTÉE DES VARIABLES

§ La portée d’une variable dépend de l’emplacement où elle a été créée (à sa


première affectation)
Portée globale :
§ Correspond au module __main__ qui maintient un dictionnaire des objets
globaux
§ l’instruction globals() fournit les couples variable : valeur
Portée locale :
§ Correspond aux objets internes aux fonctions et aux classes
§ L’instruction locals() fournit les couples variable : valeur
§ Les objets globaux ne sont pas modifiables dans les portées locales
Portée interne :
§ Correspond aux noms prédéfinis de Python
27
Introduction à Python
Types de données
Structures de contrôle
Fonctions
Manipulation des fichiers
Importation de modules

28
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

1. OPÉRATIONS SUR LES FICHIERS

Ecriture Fichier: Fermeture


Opérations (close)
(write, writelines) communes

Ouverture Lecture (read,


(open) readlines)

29
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

2. MODES D’ACCÈS
f = open (‘nom_fichier’, ‘mode_accès’)

Mode d’accès Description


r ouverture d'un fichier texte en lecture
w ouverture d'un fichier texte en écriture
a ouverture d'un fichier texte en écriture à la fin
rb ouverture d'un fichier binaire en lecture
wb ouverture d'un fichier binaire en écriture
ab ouverture d'un fichier binaire en écriture à la fin
r+ ouverture d'un fichier texte en lecture/écriture
w+ ouverture d'un fichier texte en lecture/écriture
a+ ouverture d'un fichier texte en lecture/écriture à la fin
rb+ ouverture d'un fichier binaire en lecture/écriture
wb+ ouverture d'un fichier binaire en lecture/écriture
ab+ ouverture d'un fichier binaire en lecture/écriture à la fin 30
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

3. EXEMPLE DE MANIPULATION DE FICHIER

f = open (‘nom_fichier.txt’, ‘w’)


f.write(‘Nefissa’)
f.close()

f = open (‘nom_fichier.txt’, ‘r’)


lines = f.readlines()
for line in lines :
print(line)
f.close()

31
Introduction à Python
Types de données
Structures de contrôle
Fonctions
Manipulation des fichiers
Importation de modules

32
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

1. UN MODULE, C’EST QUOI ?

Module = Fichier indépendant permettant de créer des bibliothèques de fonctions ou de classes

Avantages :
§ Réutilisation du code
§ Réalisation de services et de données partagés
§ Partition de l’espace de noms
§ Possibilité d’intégration de la documentation et des tests aux modules@

33
Introduction Type de données Structures de contrôle Fonctions Fichiers Modules

2. IMPORTATION

§ Deux manières d’importation :


import <nom_module>
§ Importer la totalité des objets du module
§ Importer des objets spécifiés du module from <nom_module> import obj1, obj2, …

§ Possibilité de donner un alias à un module import <nom_module> as <alias_module>

§ Exemples d’importations :
import os
from math import pi, sin, cos
import numpy as np
import matplotlib.pyplot as plt

34

Vous aimerez peut-être aussi