Académique Documents
Professionnel Documents
Culture Documents
Présentation
• développé en 1989 par Guido van Rossum
• open-source
• portable
• orienté objet
• dynamique
• extensible
• support pour l'intégration d'autres langages
• Avantage
Permet de tester n’importe quel petit bout de code
• Inconvénient
Peut être lent
• Opérations de base
Affectation : i = 3 – a, pi = True, 3.1415 – k = r = 2.15
Affichage dans l’interpréteur :
>>>i - affiche le contenu de i
>>>print(i) – affiche le contenu de i 9
Langage Python
Types simples et opérations de base
• Opérations de base
Opérateurs : +, -, *, /, %, //
Opérateurs puissance, valeur absolue : **, pow, abs
Opérateurs de comparaison : ==, is, !=, is not, >, >=, <, <=
Opérateurs bitwise : &, ^, |, <<, >>
Opérateurs logiques : or, and, not
Divers éléments :
break : sort de la boucle sans passer par else,
continue : remonte au début de la boucle,
pass : ne fait rien,
else : lancé si et seulement si la boucle se termine normalement.
Correspondance
%d entier x1 = 3.16
%c caractère x2 = -1
%e réel exponentiel print ("les résultats sont:\n x1=%f \n x2=%d" %(x1,x2))
%f réel décimal Cas spécifique pour les réels :
%s chaine de caractères les résultats sont:
x1 = 3.16 "%n.df" où n nombre total de chiffres
%b binaire et d nombre de chiffres après le « . »
%o octa-décimal x2 = -1
de la décimale
%x hexa-décimal
ASSALE Adjé Louis Langage Python 23
Langage Python
Types complexes et opérations de base
• Chaines pour formatage de l’affichage
Méthode format avec opérateur de conversion « {} »
Syntaxe : "…{}….{}….".format(v1, v2, …)
Autant de variables qu’il y a de « {} » dans la chaine
>>>liste
[1, 2, 'a’]
Création à partir de la fonction list qui prend n’importe quel objet
séquentiel (liste, chaine de caractères, etc.) et renvoie une liste
>>>seq = "CAAAGGTAACGC
>>>list(seq)
['C', 'A', 'A', 'A', 'G', 'G', 'T', 'A', 'A', 'C', 'G', 'C']
ASSALE Adjé Louis Langage Python 26
Langage Python
Types complexes et opérations de base
• Liste
Création de la liste
list peut s’utiliser avec la fonction range
>>> liste = list(range(10)) #liste générée de 10 valeurs
>>>liste
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Ajout d’un élément (méthode append)
>>>liste.append["ok"]
>>>liste
[1, 2, 'a', 'ok']
Afficher un élément d’une liste (l’index commence par 0)
>>>liste[1]
2
ASSALE Adjé Louis Langage Python 27
Langage Python
Types complexes et opérations de base
• Liste
Manipuler une liste
>>> liste = [1, 2, 'a', 'ok']
Modifier une valeur avec son index
>>> liste[2] = 3
>>>liste
[1, 2, 3, 'ok']
Supprimer une entrée avec son index (instruction del)
>>>del liste[1]
>>>liste
[1, 3, 'ok']
Supprimer une entrée avec sa valeur (méthode remove)
>>>liste.remove("ok")
[1, 3] 28
Langage Python
Types complexes et opérations de base
• Liste
Manipuler une liste
Inverser/trier les valeurs d’une liste (méthodes reverse/sort)
>>> liste = ["a", "b", "c"]
>>>liste.reverse()
['c', 'b', 'a']
Nombre d’éléments d’une liste (fonction len)
>>>len(liste)
3
Nombre d’occurrences d’une valeur (méthode count)
>>>liste = ["a","a","a","b","c","c"]
>>>liste.count("a")
3
ASSALE Adjé Louis Langage Python 29
Langage Python
Types complexes et opérations de base
• Liste
Manipuler une liste
Trouver l’index d’une valeur (méthode index)
>>> liste = ["a","a","a","b","c","c"]
>>>liste.index("b")
3
Dernière occurrence d’une liste
>>>liste[-1]
'c'
4 dernières occurrences d’une liste
>>>liste [-4:]
["a","a","a","b","c","c"]
>>>liste[2:4]=[10,30]
["a","a",10,30,"c","c"]
>>>liste[:]=[] #vide la liste
[]
Boucler sur une liste >>>for cara in enumerate(liste)
…. Print(cara)
>>>liste = [1, 2, "b"] 1 (0, 1)
>>>for cara in liste 2 (1, 2)
… print(cara) 'b' (2, 'b')
ASSALE Adjé Louis Langage Python 31
Langage Python
Types complexes et opérations de base
• Liste
Manipuler une liste
Copier une liste
>>> x = [1, 2, 3]
>>>ma_chaine.split(":")
['ASSALE', 'Adjé', 'Louis']
>>>liste = ["ASSALE", "Adjé", "Louis"]
>>>":".join(liste)
'ASSALE:Adjé:Louis'
Vérifier si un élément est dans une liste (opérateur in)
>>>liste = [1, 2, 4, 5, 10]
>>>4 in liste
True
ASSALE Adjé Louis Langage Python 33
Langage Python
Types complexes et opérations de base
• Liste
Manipuler une liste
Générer une liste simple de suite arithmétique (fonction range)
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>range(3, 14, 5)
[3, 8, 13]
Étendre une liste (méthode extend)
>>>x = [1, 2, 3, 4]
>>>y = [4, 5, 6, 7, 8]
>>>x.extend(y)
>>>print(x)
[1, 2, 3, 4, 4, 5, 6, 7, 8]
ASSALE Adjé Louis Langage Python 34
Langage Python
Types complexes et opérations de base
• Liste
Manipuler une liste
Astuces
n ième élément en partant de la fin : liste[-n]
>>>y = [4, 5, 6, 7, 8]
>>>x + y
[1, 2, 3, 4, 4, 5, 6, 7, 8] 35
Langage Python
Types complexes et opérations de base
• Liste
Manipuler une liste
Duplication des éléments d’une liste (opérateur *)
>>>x = [1, 2]
>>>x*5
[1, 2, 1, 2, 1, 2, 1, 2, 1, 2]
>>>[0]*5
[0, 0, 0, 0, 0]
Liste en compréhension
>>>a = [1, 4, 2, 7, 1, 9, 0, 3, 4, 6, 6, 6, 8, 3]
• Exercice 2
Traduire en python les algo des exercices 9 à 13 de la fiche de
TD
(1, 2, 3)
ASSALE Adjé Louis Langage Python 39
Langage Python
Types complexes et opérations de base
• Tuple
Manipuler un tuple
Afficher une valeur d’un tuple à partir de son index
>>>x[1]
'a'
Concaténation : opérateurs (*) et (+)
>>>(1, 2)*3
(1, 2, 1, 2, 1, 2)
>>>t1, t2 = (1, 2, 3), (4, 5)
>>>t1+t2
(1, 2, 3, 4, 5)
>>>v1, v2 = 11, 22
>>>v1
11
>>>v2 12
Il sert à renvoyer plusieurs valeurs lors de l’appel d’une fonction
>>>def fonc():
… return x, y
ASSALE Adjé Louis Langage Python 41
Langage Python
Types complexes et opérations de base
• Dictionnaire
Ensemble de paires clé-valeur
Création de dictionnaire
Dictionnaire vide
>>>a = {} ou >>>a = dict()
>>>a["nom"] = "Assalé"
>>>a["prénom"] = "Louis
>>>a {'nom' : 'Assalé', 'prénom' : 'Louis'}
Récupérer une valeur par clé (méthode get)
>>>a.get("nom") 'Assalé'
#si clé introuvable on peut préciser valeur à retournée par défaut
{'prénom' : 'Louis'}
Récupérer les clés d’un dictionnaire (méthode keys)
>>>fiche = {"nom" : "Assalé", "prénom" : "Louis"}
Copie liée
>>>fiche2 = fiche
>>>fiche["nom"] = "XXX"
>>>fiche2
{'prénom' : 'Louis', 'nom' : 'XXX'}
Copie indépendante
>>>fiche2 = fiche.copy()
>>>fiche["nom"] = "XXX"
>>>fiche2
{'prénom' : 'Louis', 'nom' : 'Louis'}
ASSALE Adjé Louis Langage Python 46
Langage Python
Types complexes et opérations de base
• Dictionnaire
Manipuler un dictionnaire
Fusionner 2 dictionnaires (méthode update)
>>>fiche1 = {"nom" : "Assalé"}
>>>s[1] erreur
Un set est itérable
>>> s = set([1,4,0,3,1])
>>>for elt in s:
… print(elt)
Opérateurs mathématiques | (union), & (intersection) et – (différence)
>>> l = [3, 3, 5, 1, 3, 4, 1, 1, 4, 4] >>> set(l) | set(l2)
>>> l2 = [3, 0, 5, 3, 3, 1, 1, 1, 2, 2] {0,1,2,3,4,5}
>>> set(l) & set(l2) >>> set(l) – set(l2)
{1,3,5} {4} 50
Langage Python
Travaux Pratiques N3
• Voir fiche TD Listes-Tuples-Dictionnaires