Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

import

4 réponses
Avatar
ast
Bonjour

Y a t'il une différence entre:

import scipy.special as special

et

from scipy import special


(peu importe le nom des packages/modules choisis)

4 réponses

Avatar
Nicolas
Bonjour,
Le 20/06/2018 à 11:47, ast a écrit :
Bonjour
Y a t'il une différence entre:
import scipy.special as special
et
from scipy import special
(peu importe le nom des packages/modules choisis)

"import scipy.special as special" sert à importer un (sous)module.
"from scipy import special" sert à importer un objet.
La réponse ici :
https://stackoverflow.com/questions/19668831/difference-between-from-x-import-y-and-import-x-y
Avatar
ast
Le 21/06/2018 à 09:01, Nicolas a écrit :
Bonjour,
Le 20/06/2018 à 11:47, ast a écrit :
Bonjour
Y a t'il une différence entre:
import scipy.special as special
et
from scipy import special
(peu importe le nom des packages/modules choisis)

"import scipy.special as special" sert à importer un (sous)module.
"from scipy import special" sert à importer un objet.
La réponse ici :
https://stackoverflow.com/questions/19668831/difference-between-from-x-import-y-and-import-x-y

Dans l'exemple auquel tu me renvoies, la 1ère forme
de l'import provoque une erreur.
import collections.OrderedDict as od
C'est normal car OrderedDict n'est pas un module.
Alors que la deuxième forme:
from collections import OrderedDict as od
passe bien.
Mon exemple est différent car special est un module
et donc les 2 formes de l'import passent sans problèmes.
import scipy.special as special
from scipy import special
Avatar
ast
Le 22/06/2018 à 13:02, ast a écrit :
Le 21/06/2018 à 09:01, Nicolas a écrit :
Bonjour,
Le 20/06/2018 à 11:47, ast a écrit :
Bonjour
Y a t'il une différence entre:
import scipy.special as special
et
from scipy import special
(peu importe le nom des packages/modules choisis)

"import scipy.special as special" sert à importer un (sous)module.
"from scipy import special" sert à importer un objet.
La réponse ici :
https://stackoverflow.com/questions/19668831/difference-between-from-x-import-y-and-import-x-y

Dans l'exemple auquel tu me renvoies, la 1ère forme
de l'import provoque une erreur.
import collections.OrderedDict as od
C'est normal car OrderedDict n'est pas un module.
Alors que la deuxième forme:
from collections import OrderedDict as od
passe bien.
Mon exemple est différent car special est un module
et donc les 2 formes de l'import passent sans problèmes.
import scipy.special as special
from scipy import special

En cherchant un peu j'ai trouvé la réponse sur stackoverflow ici:
https://stackoverflow.com/questions/22245711/from-import-or-import-as-for-modules
Conclusion: Les 2 syntaxes sont identiques
Avatar
Nicolas
Le 22/06/2018 à 13:08, ast a écrit :
Le 22/06/2018 à 13:02, ast a écrit :
Le 21/06/2018 à 09:01, Nicolas a écrit :
Bonjour,
Le 20/06/2018 à 11:47, ast a écrit :
Bonjour
Y a t'il une différence entre:
import scipy.special as special
et
from scipy import special
(peu importe le nom des packages/modules choisis)

"import scipy.special as special" sert à importer un (sous)module.
"from scipy import special" sert à importer un objet.
La réponse ici :
https://stackoverflow.com/questions/19668831/difference-between-from-x-import-y-and-import-x-y

Dans l'exemple auquel tu me renvoies, la 1ère forme
de l'import provoque une erreur.
import collections.OrderedDict as od
C'est normal car OrderedDict n'est pas un module.
Alors que la deuxième forme:
from collections import OrderedDict as od
passe bien.
Mon exemple est différent car special est un module
et donc les 2 formes de l'import passent sans problèmes.
import scipy.special as special
from scipy import special

En cherchant un peu j'ai trouvé la réponse sur stackoverflow ici:
https://stackoverflow.com/questions/22245711/from-import-or-import-as-for-modules
Conclusion: Les 2 syntaxes sont identiques

Certes, pour un module, les 2 syntaxes sont, semble t-il, identiques.
Mais il faut bien garder à l'esprit la différence entre les 2 syntaxes :
from foo import bar imports any object called bar from namespace foo
into the current namespace.
import foo.bar as bar imports an importable object
(package/module/namespace) called foo.bar and gives it the alias bar.