SlideShare une entreprise Scribd logo
Session 2/3
Olivier Rovellotti
Python
AUTRES TYPES
Tuple
• Conteneur séquentiel non mutable
• Ensemble ordonné d’éléments
– Pas forcément constants
– Exemples :
a = (1,2,3) # instancie un nouveau tuple
a[1] # retourne 2
a[0] = 4 # interdit
a.append(42) # faux
b = a + (4,) # recopie complète de a dans b
Liste Le premier item commence toujours avec l'index 0.
Pour créer une liste, rien de plus simple:
>>> liste = []
Ajouter une valeur à une liste python
>>> liste = [1,2,3]
>>> liste = []
>>> liste []
>>> liste.append(1)
>>> liste [1]
>>> liste.append("ok")
>>> liste [1, 'ok']
Dictionnaire
• Conteneur associatif
• Exemple
>>> d = {1:'1', 3:'3', 2:'2'} # instancier un dictionnaire, la clef doit
# être un objet constant (c’est son hash
# qui détermine sa valeur d’index)
>>> d
{1: '1', 2: '2', 3: '3'}
>>> 1 in d # test d'appartenance
True
>>> d[4] = '4' # insérer un élément
>>> d
{1: '1', 2: '2', 3: '3', 4: '4'}
Dictionnaire
>>> del d[2] # supprimer un élément en fonction de sa clef
>>> d
{1: '1', 3: '3', 4: '4'}
>>> d.keys() # retourne la liste des clefs (peut être très coûteux)
[1, 3, 4]
>>> d.values() # retourne la liste des valeurs
['1', '3', '4']
>>> d.items() # retourne la liste des couples (clef, value)
[(1, '1'), (3, '3'), (4, '4')]
>>> d[6] # retourne une exception en cas de clef erronée
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 6
>>> d.get(6) # retourne None
AUTRES TYPES
Itérateurs
• Tous les conteneurs séquentiels peuvent être
itérés
– list, tuple, dict, …
– Exemple :
for i in [1,2,3,4]
print i
– Remarque: la suppression d’un élément sur une
séquence itérée invalide silencieusement
l’itérateur
Itérateurs
• Classe dont les instances sont itérables
class MyList(object):
def __init__(self, l):
self.l = l
self.index = 0
def __iter__(self):
return self
def next(self):
if self.index == len(self.l):
raise StopIteration
try:
return self.l[self.index]
finally:
self.index += 1
Itérateurs
• Itérer (consommer)
– Méthode classique
for i in MyList([0,1,2]):
print I
– Strictement equivalent à (principe réalisé en interne)
it = iter(MyList([0,1,2])) # délégue à __iter__()
while True:
try:
print it.next()
except StopIteration:
break
– Sortie dans les deux cas :
0
1
2
– Remarque : faire un itérateur infini sans StopIteration
FONCTION
Fonctions
• Définition d’une fonction par ‘def’
def f(a,b=3):
if a:
return a + b
f(2) # retourne 5
f(2, 42) # retourne 44
f(0) # retourne None
f(0,42) # retourne None
Fonctions
• Pas de déclaration de type des arguments ni de la valeur de retour
• Duck typing (if it walks like a duck, quacks like a duck,…, it must be a duck)
• Retourne l’objet None par défaut (ou en cas de return sans argument)
• Une fonction peut être imbriquée dans une autre
CLASSE
Classes
• Exemple 2 (héritage, self-modication) :
class A(object):
pass
class B(A):
pass
class C(object):
pass
print B.__bases__ # (1)
B.__bases__ += (C,)
print B.__bases__ # (2)
Résultats :
(<class __main__.A>,) # (1)
(<class __main__.A>, <class __main__.C>) # (2)
Classes
• Exemple 1 :
class Test(object):
"""commentaire"""
def __init__(self, a):
self._a = a
def meth(self):
return self._a * 42
def __str__(self):
return str(self._a)
print 'type de Test:', type(Test)
c = Test(2)
print 'appel de la methode __str__():', c
print 'type de c:', type(c)
print 'attributs de c:', dir(c)
print 'appel de methode:', c.meth()
c.nouvel_attribut = 42
print 'nouvel attribut::', c.nouvel_attribut
print 'introspection:', getattr(c,'meth')
Classes
• Pas de notions de classe abstraite
• Héritage multiple (à la c++), depth-first, left-to-
right
• Les méthodes sont toutes virtuelles
• Attributs de classe
• Méthodes statiques
• Fonction super(), pour référer à la classe
parente
Classes
Exemple 3 (surcharge d’opérateurs):
class MyInt(object):
def __init__(self, i):
self.i = i
def __add__(self, rhs):
return MyInt(self.i + rhs.i)
def __str__(self):
return str(self.i)
un = MyInt(1)
deux = MyInt(2)
trois = un + deux
print trois
sundae:~/Desktop$ python myint.py
3
Modules
• Un module est un fichier contenant des définitions et des instructions Python. Le nom du fichier
est le nom du module auquel est ajouté le suffixe .py.
• Avantages:
• - permet de relancer un même programme sans tout réécrire
• -d’utiliser dans plusieurs programmes une même fonction sans la réécrire dans chaque
programme.
• Chaque module a sa propre table de symboles privée, qui est utilisée comme table de symbole
globale par toutes les fonctions définies dans le module. Ainsi, l'auteur d'un module peut utiliser
des variables globales dans le module sans s'inquiéter des désaccords accidentels avec les
variables globales d'un utilisateur.
Modules
Importer un module (équivalent d’une librairie)
>>> import sys # importer tout un module
>>> from foo import bar # n’importe pas tout le module foo
# mais seulement bar
>>> sys.path # import cherche les modules dans ces repertoires
['', '/usr/lib/python25.zip', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2',
'/usr/lib/python2.5/lib-tk', '/usr/lib/python2.5/lib-dynload',
'/usr/local/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages',
'/usr/lib/python2.5/site-packages/Numeric', '/usr/lib/python2.5/site-packages/gst-
0.10', '/var/lib/python-support/python2.5', '/usr/lib/python2.5/site-packages/gtk-2.0',
'/var/lib/python-support/python2.5/gtk-2.0', '/usr/lib/site-python']
PACKAGES
Un package est un module contenant d’autres modules. Les modules d’un package
peuvent être des sous-packages, ce qui donne une structure arborescente.
Enrésumé,un package est simplement un répertoire qui contient des modules et un fichier
__init__.py
décrivant l’arborescence du package.
pip est un gestionnaire de paquets utilisé pour installer et gérer
des paquets écrits en Python. De nombreux paquets peuvent
être trouvés sur le dépôt Python Package Index (PyPI).
Packages
Twitter: @orovellotti
www.natural-solutions.eu
Merci
Olivier_rovellotti@natural-solutions.eu

Contenu connexe

Tendances

Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmiqueAbdoulaye Dieng
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniShellmates
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French CourseHaytam EL YOUSSFI
 
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI Mansouri Khalifa
 
Développement informatique : Algorithmique I : Récursion et arbre
Développement informatique : Algorithmique I : Récursion et arbreDéveloppement informatique : Algorithmique I : Récursion et arbre
Développement informatique : Algorithmique I : Récursion et arbreECAM Brussels Engineering School
 
Programmation Orientée Objet et les Traits en PHP 5.4
Programmation Orientée Objet et les Traits en PHP 5.4Programmation Orientée Objet et les Traits en PHP 5.4
Programmation Orientée Objet et les Traits en PHP 5.4halleck45
 
Exploiter php 5
Exploiter php 5Exploiter php 5
Exploiter php 5halleck45
 
Algorithmique_et_programmation_part3_V2
Algorithmique_et_programmation_part3_V2Algorithmique_et_programmation_part3_V2
Algorithmique_et_programmation_part3_V2Emeric Tapachès
 
Chapitre 2: String en Java
Chapitre 2:  String en JavaChapitre 2:  String en Java
Chapitre 2: String en JavaAziz Darouichi
 
Asyncio: offrez des tulipes à vos entrées sorties asynchrones
Asyncio: offrez des tulipes à vos entrées sorties asynchronesAsyncio: offrez des tulipes à vos entrées sorties asynchrones
Asyncio: offrez des tulipes à vos entrées sorties asynchronestchappui
 
Programmation fonctionnelle
Programmation fonctionnelleProgrammation fonctionnelle
Programmation fonctionnelleGeeks Anonymes
 

Tendances (16)

Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El Hassani
 
Theme 7
Theme 7Theme 7
Theme 7
 
Tp n 3 linux
Tp n 3 linuxTp n 3 linux
Tp n 3 linux
 
Tp n 4 linux
Tp n 4 linuxTp n 4 linux
Tp n 4 linux
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French Course
 
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
 
Python avancé : Tuple et objet
Python avancé : Tuple et objetPython avancé : Tuple et objet
Python avancé : Tuple et objet
 
Développement informatique : Algorithmique I : Récursion et arbre
Développement informatique : Algorithmique I : Récursion et arbreDéveloppement informatique : Algorithmique I : Récursion et arbre
Développement informatique : Algorithmique I : Récursion et arbre
 
Programmation Orientée Objet et les Traits en PHP 5.4
Programmation Orientée Objet et les Traits en PHP 5.4Programmation Orientée Objet et les Traits en PHP 5.4
Programmation Orientée Objet et les Traits en PHP 5.4
 
Exploiter php 5
Exploiter php 5Exploiter php 5
Exploiter php 5
 
Algorithmique_et_programmation_part3_V2
Algorithmique_et_programmation_part3_V2Algorithmique_et_programmation_part3_V2
Algorithmique_et_programmation_part3_V2
 
Chapitre 2: String en Java
Chapitre 2:  String en JavaChapitre 2:  String en Java
Chapitre 2: String en Java
 
Asyncio: offrez des tulipes à vos entrées sorties asynchrones
Asyncio: offrez des tulipes à vos entrées sorties asynchronesAsyncio: offrez des tulipes à vos entrées sorties asynchrones
Asyncio: offrez des tulipes à vos entrées sorties asynchrones
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
Programmation fonctionnelle
Programmation fonctionnelleProgrammation fonctionnelle
Programmation fonctionnelle
 

Similaire à Ns python 2

FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptxLamissGhoul1
 
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniShellmates
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonAbdoulaye Dieng
 
Deuxième partie.pptx
Deuxième partie.pptxDeuxième partie.pptx
Deuxième partie.pptxSafaeLhr1
 
WTF - What's The Fold - Bordeaux JUG 2013
WTF - What's The Fold - Bordeaux JUG 2013WTF - What's The Fold - Bordeaux JUG 2013
WTF - What's The Fold - Bordeaux JUG 2013Zenika
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de javaAmir Souissi
 
Php 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPhp 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPierre Faure
 
Java-3eme partie.pptx
Java-3eme partie.pptxJava-3eme partie.pptx
Java-3eme partie.pptxHassanAbdel
 
condition et boucle (2).pptx
condition et boucle  (2).pptxcondition et boucle  (2).pptx
condition et boucle (2).pptxMohammedErritali2
 
cour informatique niveau3 programmation en Python.pdf
cour informatique niveau3 programmation en  Python.pdfcour informatique niveau3 programmation en  Python.pdf
cour informatique niveau3 programmation en Python.pdfNanchi6
 
Cours de C++, en français, 2002 - Cours 2.1
Cours de C++, en français, 2002 - Cours 2.1Cours de C++, en français, 2002 - Cours 2.1
Cours de C++, en français, 2002 - Cours 2.1Laurent BUNIET
 
Scala : programmation fonctionnelle
Scala : programmation fonctionnelleScala : programmation fonctionnelle
Scala : programmation fonctionnelleMICHRAFY MUSTAFA
 

Similaire à Ns python 2 (20)

Python.pptx
Python.pptxPython.pptx
Python.pptx
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptx
 
Mathématiques et Python
Mathématiques et PythonMathématiques et Python
Mathématiques et Python
 
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El Hassani
 
ExJava.pdf
ExJava.pdfExJava.pdf
ExJava.pdf
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
 
Deuxième partie.pptx
Deuxième partie.pptxDeuxième partie.pptx
Deuxième partie.pptx
 
Python avancé : Classe et objet
Python avancé : Classe et objetPython avancé : Classe et objet
Python avancé : Classe et objet
 
POO-chapitre3.pptx
POO-chapitre3.pptxPOO-chapitre3.pptx
POO-chapitre3.pptx
 
Python chapitre 4.pdf
Python chapitre 4.pdfPython chapitre 4.pdf
Python chapitre 4.pdf
 
Audits php
Audits phpAudits php
Audits php
 
WTF - What's The Fold - Bordeaux JUG 2013
WTF - What's The Fold - Bordeaux JUG 2013WTF - What's The Fold - Bordeaux JUG 2013
WTF - What's The Fold - Bordeaux JUG 2013
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de java
 
Php 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPhp 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVC
 
Java-3eme partie.pptx
Java-3eme partie.pptxJava-3eme partie.pptx
Java-3eme partie.pptx
 
condition et boucle (2).pptx
condition et boucle  (2).pptxcondition et boucle  (2).pptx
condition et boucle (2).pptx
 
cour informatique niveau3 programmation en Python.pdf
cour informatique niveau3 programmation en  Python.pdfcour informatique niveau3 programmation en  Python.pdf
cour informatique niveau3 programmation en Python.pdf
 
Python chapitre 2.pdf
Python chapitre 2.pdfPython chapitre 2.pdf
Python chapitre 2.pdf
 
Cours de C++, en français, 2002 - Cours 2.1
Cours de C++, en français, 2002 - Cours 2.1Cours de C++, en français, 2002 - Cours 2.1
Cours de C++, en français, 2002 - Cours 2.1
 
Scala : programmation fonctionnelle
Scala : programmation fonctionnelleScala : programmation fonctionnelle
Scala : programmation fonctionnelle
 

Plus de Olivier Rovellotti (20)

Hack4 nature Tree from satellite
Hack4 nature Tree from satelliteHack4 nature Tree from satellite
Hack4 nature Tree from satellite
 
Etoile du berger
Etoile du bergerEtoile du berger
Etoile du berger
 
Methode ux
Methode uxMethode ux
Methode ux
 
Opendata arles
Opendata arlesOpendata arles
Opendata arles
 
Ns biodiversity next julien corny rovellotti olivier 2
Ns biodiversity next julien corny rovellotti olivier 2Ns biodiversity next julien corny rovellotti olivier 2
Ns biodiversity next julien corny rovellotti olivier 2
 
The quest for new empowered citizen scientists
The quest for new empowered citizen scientistsThe quest for new empowered citizen scientists
The quest for new empowered citizen scientists
 
A la découverte de l'ux design
A la découverte de l'ux designA la découverte de l'ux design
A la découverte de l'ux design
 
Gamification, Ludification de l’expérience énergie
Gamification, Ludification de l’expérience énergie Gamification, Ludification de l’expérience énergie
Gamification, Ludification de l’expérience énergie
 
Le donut tour metropole
Le donut tour metropoleLe donut tour metropole
Le donut tour metropole
 
Ns ux-emotion
Ns ux-emotionNs ux-emotion
Ns ux-emotion
 
Ns ux-ethique
Ns ux-ethiqueNs ux-ethique
Ns ux-ethique
 
Datasud barcamp
Datasud barcampDatasud barcamp
Datasud barcamp
 
Datasud barcamp 2
Datasud barcamp 2Datasud barcamp 2
Datasud barcamp 2
 
Scapin et bastien
Scapin et bastienScapin et bastien
Scapin et bastien
 
Ns cleo lodel ux
Ns cleo lodel uxNs cleo lodel ux
Ns cleo lodel ux
 
Ns python flask 3
Ns python flask 3Ns python flask 3
Ns python flask 3
 
Ns python flask 2
Ns python flask 2Ns python flask 2
Ns python flask 2
 
Ns python-flask
Ns python-flaskNs python-flask
Ns python-flask
 
Ns python web 1
Ns python web 1Ns python web 1
Ns python web 1
 
Ns python-exercices
Ns python-exercicesNs python-exercices
Ns python-exercices
 

Ns python 2

  • 2.
  • 3.
  • 5. Tuple • Conteneur séquentiel non mutable • Ensemble ordonné d’éléments – Pas forcément constants – Exemples : a = (1,2,3) # instancie un nouveau tuple a[1] # retourne 2 a[0] = 4 # interdit a.append(42) # faux b = a + (4,) # recopie complète de a dans b
  • 6. Liste Le premier item commence toujours avec l'index 0. Pour créer une liste, rien de plus simple: >>> liste = [] Ajouter une valeur à une liste python >>> liste = [1,2,3] >>> liste = [] >>> liste [] >>> liste.append(1) >>> liste [1] >>> liste.append("ok") >>> liste [1, 'ok']
  • 7. Dictionnaire • Conteneur associatif • Exemple >>> d = {1:'1', 3:'3', 2:'2'} # instancier un dictionnaire, la clef doit # être un objet constant (c’est son hash # qui détermine sa valeur d’index) >>> d {1: '1', 2: '2', 3: '3'} >>> 1 in d # test d'appartenance True >>> d[4] = '4' # insérer un élément >>> d {1: '1', 2: '2', 3: '3', 4: '4'}
  • 8. Dictionnaire >>> del d[2] # supprimer un élément en fonction de sa clef >>> d {1: '1', 3: '3', 4: '4'} >>> d.keys() # retourne la liste des clefs (peut être très coûteux) [1, 3, 4] >>> d.values() # retourne la liste des valeurs ['1', '3', '4'] >>> d.items() # retourne la liste des couples (clef, value) [(1, '1'), (3, '3'), (4, '4')] >>> d[6] # retourne une exception en cas de clef erronée Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 6 >>> d.get(6) # retourne None
  • 10. Itérateurs • Tous les conteneurs séquentiels peuvent être itérés – list, tuple, dict, … – Exemple : for i in [1,2,3,4] print i – Remarque: la suppression d’un élément sur une séquence itérée invalide silencieusement l’itérateur
  • 11. Itérateurs • Classe dont les instances sont itérables class MyList(object): def __init__(self, l): self.l = l self.index = 0 def __iter__(self): return self def next(self): if self.index == len(self.l): raise StopIteration try: return self.l[self.index] finally: self.index += 1
  • 12. Itérateurs • Itérer (consommer) – Méthode classique for i in MyList([0,1,2]): print I – Strictement equivalent à (principe réalisé en interne) it = iter(MyList([0,1,2])) # délégue à __iter__() while True: try: print it.next() except StopIteration: break – Sortie dans les deux cas : 0 1 2 – Remarque : faire un itérateur infini sans StopIteration
  • 14. Fonctions • Définition d’une fonction par ‘def’ def f(a,b=3): if a: return a + b f(2) # retourne 5 f(2, 42) # retourne 44 f(0) # retourne None f(0,42) # retourne None
  • 15. Fonctions • Pas de déclaration de type des arguments ni de la valeur de retour • Duck typing (if it walks like a duck, quacks like a duck,…, it must be a duck) • Retourne l’objet None par défaut (ou en cas de return sans argument) • Une fonction peut être imbriquée dans une autre
  • 17. Classes • Exemple 2 (héritage, self-modication) : class A(object): pass class B(A): pass class C(object): pass print B.__bases__ # (1) B.__bases__ += (C,) print B.__bases__ # (2) Résultats : (<class __main__.A>,) # (1) (<class __main__.A>, <class __main__.C>) # (2)
  • 18. Classes • Exemple 1 : class Test(object): """commentaire""" def __init__(self, a): self._a = a def meth(self): return self._a * 42 def __str__(self): return str(self._a) print 'type de Test:', type(Test) c = Test(2) print 'appel de la methode __str__():', c print 'type de c:', type(c) print 'attributs de c:', dir(c) print 'appel de methode:', c.meth() c.nouvel_attribut = 42 print 'nouvel attribut::', c.nouvel_attribut print 'introspection:', getattr(c,'meth')
  • 19. Classes • Pas de notions de classe abstraite • Héritage multiple (à la c++), depth-first, left-to- right • Les méthodes sont toutes virtuelles • Attributs de classe • Méthodes statiques • Fonction super(), pour référer à la classe parente
  • 20. Classes Exemple 3 (surcharge d’opérateurs): class MyInt(object): def __init__(self, i): self.i = i def __add__(self, rhs): return MyInt(self.i + rhs.i) def __str__(self): return str(self.i) un = MyInt(1) deux = MyInt(2) trois = un + deux print trois sundae:~/Desktop$ python myint.py 3
  • 22. • Un module est un fichier contenant des définitions et des instructions Python. Le nom du fichier est le nom du module auquel est ajouté le suffixe .py. • Avantages: • - permet de relancer un même programme sans tout réécrire • -d’utiliser dans plusieurs programmes une même fonction sans la réécrire dans chaque programme. • Chaque module a sa propre table de symboles privée, qui est utilisée comme table de symbole globale par toutes les fonctions définies dans le module. Ainsi, l'auteur d'un module peut utiliser des variables globales dans le module sans s'inquiéter des désaccords accidentels avec les variables globales d'un utilisateur.
  • 23. Modules Importer un module (équivalent d’une librairie) >>> import sys # importer tout un module >>> from foo import bar # n’importe pas tout le module foo # mais seulement bar >>> sys.path # import cherche les modules dans ces repertoires ['', '/usr/lib/python25.zip', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2', '/usr/lib/python2.5/lib-tk', '/usr/lib/python2.5/lib-dynload', '/usr/local/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages/Numeric', '/usr/lib/python2.5/site-packages/gst- 0.10', '/var/lib/python-support/python2.5', '/usr/lib/python2.5/site-packages/gtk-2.0', '/var/lib/python-support/python2.5/gtk-2.0', '/usr/lib/site-python']
  • 24.
  • 26. Un package est un module contenant d’autres modules. Les modules d’un package peuvent être des sous-packages, ce qui donne une structure arborescente. Enrésumé,un package est simplement un répertoire qui contient des modules et un fichier __init__.py décrivant l’arborescence du package. pip est un gestionnaire de paquets utilisé pour installer et gérer des paquets écrits en Python. De nombreux paquets peuvent être trouvés sur le dépôt Python Package Index (PyPI). Packages