ajout des imports et de sys.modules
This commit is contained in:
parent
f52d023781
commit
239097238e
|
@ -3,7 +3,7 @@ Apprentissage de la programmation avec python
|
||||||
----------------------------------------------
|
----------------------------------------------
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 2
|
||||||
|
|
||||||
getting-started
|
getting-started
|
||||||
settings
|
settings
|
||||||
|
@ -16,7 +16,7 @@ Programmation python, connaissances de base
|
||||||
--------------------------------------------
|
--------------------------------------------
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 2
|
||||||
|
|
||||||
classes
|
classes
|
||||||
prompt
|
prompt
|
||||||
|
|
|
@ -6,6 +6,8 @@ Programmation python courante
|
||||||
les espaces de nommage
|
les espaces de nommage
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
L'espace de nommage le plus courant est l'organisation en modules et en packages.
|
||||||
|
|
||||||
Packages et modules::
|
Packages et modules::
|
||||||
|
|
||||||
package/
|
package/
|
||||||
|
@ -56,6 +58,50 @@ Organisation modulaire
|
||||||
- identifier les sous-composants indépendants (rendre les programmes réutilisables)
|
- identifier les sous-composants indépendants (rendre les programmes réutilisables)
|
||||||
- forcer l'abstraction (augmenter la sureté du programme)
|
- forcer l'abstraction (augmenter la sureté du programme)
|
||||||
|
|
||||||
|
modules chargés et modules importés
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
|
Les modules susceptibles d'être chargés sont dans le :envvar:`PYTHNONPATH`.
|
||||||
|
Mais comment peut-on savoir ou ils sont physiquement (sur le disque dur) ?
|
||||||
|
|
||||||
|
.. envvar:: `sys.modules`
|
||||||
|
|
||||||
|
>>> 'twisted' in sys.modules
|
||||||
|
False
|
||||||
|
>>> import twisted
|
||||||
|
>>> 'twisted' in sys.modules
|
||||||
|
True
|
||||||
|
>>> sys.modules['twisted']
|
||||||
|
<module 'twisted' from '/usr/lib/python2.7/dist-packages/twisted/__init__.pyc'>
|
||||||
|
>>>
|
||||||
|
|
||||||
|
.. attention:: un module présent dans `sys.modules` n'est pas forcément importé
|
||||||
|
dans l'espace de nommage usuel. Il faut importer le module pour
|
||||||
|
pouvoir l'utiliser.
|
||||||
|
|
||||||
|
>>> sys.modules['email']
|
||||||
|
<module 'email' from '/usr/lib/python2.7/email/__init__.pyc'>
|
||||||
|
>>> dir(email)
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<stdin>", line 1, in <module>
|
||||||
|
NameError: name 'email' is not defined
|
||||||
|
>>>
|
||||||
|
|
||||||
|
Connaître la version d'un module
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
|
Exemple : le module ``datetime``
|
||||||
|
|
||||||
|
C'est suivant la version de python car c'est la librairie standard.
|
||||||
|
|
||||||
|
Sinon, en général il y a un attribut __version__
|
||||||
|
|
||||||
|
>>> import sqlalchemy
|
||||||
|
>>> sqlalchemy.__version__
|
||||||
|
'0.9.8'
|
||||||
|
>>>
|
||||||
|
|
||||||
|
|
||||||
Les méthodes spéciales
|
Les méthodes spéciales
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
|
|
@ -173,7 +173,7 @@ ordinal not in range(128)
|
||||||
<type 'str'>
|
<type 'str'>
|
||||||
>>>
|
>>>
|
||||||
|
|
||||||
# il faut utiliser .encode(), et pas .decode()...
|
Il faut utiliser ``.encode()``, et pas ``.decode()``::
|
||||||
|
|
||||||
if type(s) == unicode #types.UnicodeType:
|
if type(s) == unicode #types.UnicodeType:
|
||||||
bla bla
|
bla bla
|
||||||
|
|
Loading…
Reference in New Issue