Import d'un sous module

Le
ast
bonjour

Lorsque j'importe un sous module, je constate que le module
aussi est importé. Pourquoi ? Est ce une fonctionnalité de
Python ?

Par exemple:

>>> import os.path
>>>
>>> os
<module 'os' from 'C:\Program Files\Python35-32\lib\os.py'>
>>> os.getcwd()
'C:\Users\jean\desktop'

Un autre exemple:

>>> import numpy.polynomial
>>> numpy
<module 'numpy' from 'C:\Program Files\Python35-32\lib\site-packagesumpy\__init__.py'>
>>> numpy.sqrt(2)
1.4142135623730951
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Benoit Izac
Le #26407088
Bonjour,
Le 12/08/2016 à 09:54, ast a écrit dans le message
Lorsque j'importe un sous module, je constate que le module
aussi est importé. Pourquoi ? Est ce une fonctionnalité de
Python ?
Par exemple:
import os.path
os



os.getcwd()



'C:\Users\jean\desktop'

Je vois mal comment il pourrait en être autrement puisque pour
l'utiliser tu dois faire os.path.xxx. Si tu veux juste path, il faut
faire :
from os import path
--
Benoit Izac
ast
Le #26407180
"Benoit Izac" news:
Bonjour,
Le 12/08/2016 à 09:54, ast a écrit dans le message
Lorsque j'importe un sous module, je constate que le module
aussi est importé. Pourquoi ? Est ce une fonctionnalité de
Python ?
Par exemple:
import os.path
os



os.getcwd()



'C:\Users\jean\desktop'

Je vois mal comment il pourrait en être autrement puisque pour
l'utiliser tu dois faire os.path.xxx. Si tu veux juste path, il faut
faire :
from os import path
--
Benoit Izac

ok mais je n'ai jamais vu cela écrit nulle part
Benoit Izac
Le #26407196
Bonjour,
Le 13/08/2016 à 18:24, ast a écrit dans le message
Lorsque j'importe un sous module, je constate que le module
aussi est importé. Pourquoi ? Est ce une fonctionnalité de
Python ?
Par exemple:
import os.path
os



os.getcwd()



'C:\Users\jean\desktop'

Je vois mal comment il pourrait en être autrement puisque pour
l'utiliser tu dois faire os.path.xxx. Si tu veux juste path, il faut
faire :
from os import path

ok mais je n'ai jamais vu cela écrit nulle part

Ici | If the module being imported is not a top level module, then the name
| of the top level package that contains the module is bound in the
| local namespace as a reference to the top level package. The imported
| module must be accessed using its full qualified name rather than
| directly
import os.path # 3ème cas (cité ci-dessus)
locals()



{'__doc__': None, '__package__': None, '__spec__': None,
'__name__': '__main__',
'__loader__': '__builtins__': <module 'builtins' (built-in)>,
'os':
import os.path as path # 1er cas
locals()



{'__name__': '__main__',
'path': '__builtins__': <module 'builtins' (built-in)>,
'__loader__': --
Benoit Izac
ast
Le #26407263
"Benoit Izac" news:
Bonjour,
Le 13/08/2016 à 18:24, ast a écrit dans le message
Lorsque j'importe un sous module, je constate que le module
aussi est importé. Pourquoi ? Est ce une fonctionnalité de
Python ?
Par exemple:
import os.path
os



os.getcwd()



'C:\Users\jean\desktop'

Je vois mal comment il pourrait en être autrement puisque pour
l'utiliser tu dois faire os.path.xxx. Si tu veux juste path, il faut
faire :
from os import path

ok mais je n'ai jamais vu cela écrit nulle part

Ici | If the module being imported is not a top level module, then the name
| of the top level package that contains the module is bound in the
| local namespace as a reference to the top level package. The imported
| module must be accessed using its full qualified name rather than
| directly
import os.path # 3ème cas (cité ci-dessus)
locals()



{'__doc__': None, '__package__': None, '__spec__': None,
'__name__': '__main__',
'__loader__': '__builtins__': <module 'builtins' (built-in)>,
'os':
import os.path as path # 1er cas
locals()



{'__name__': '__main__',
'path': '__builtins__': <module 'builtins' (built-in)>,
'__loader__': --
Benoit Izac

merci pour le lien
Le import est assez compliqué quand on cherche à rentrer dans
les détails
Publicité
Poster une réponse
Anonyme