Czy możesz zdefiniować aliasy dla importowanych modułów w Pythonie?

141

Czy w Pythonie można zdefiniować alias dla importowanego modułu?

Na przykład:

import a_ridiculously_long_module_name

... więc to ma alias „short_name”.

Jordan Parmer
źródło

Odpowiedzi:

191
import a_ridiculously_long_module_name as short_name

działa również dla

import module.submodule.subsubmodule as short_name
vartec
źródło
z importu modułu sub_module_1 jako s1, sub_module_2 jako s2
wysłano
40

Sprawdź tutaj

import module as name

lub

from relative_module import identifier as name
Brian R. Bondy
źródło
7
Hmm, kiedy próbuję zrobić from name import X(po definicji aliasu) otrzymuję No module named name. Czy możemy importować moduły z aliasów?
Amelio Vazquez-Reina
2
Wygląda na to, że nie możesz, oto najjaśniejsza odpowiedź, jaką znalazłem dla tego stackoverflow.com/a/40823467
fr_andres
32

Jeśli zrobiłeś:

import long_module_name

możesz również nadać mu alias poprzez:

lmn = long_module_name

Nie ma powodu, aby robić to w ten sposób w kodzie, ale czasami uważam to za przydatne w interaktywnym interpretatorze.

John Fouhy
źródło
5
Z niektórych powodów jest to lepsze niż najlepsze odpowiedzi (importuj long_module_name jako lmn), ponieważ nadal możesz odwoływać się do modułu zarówno przez long_module_name.x, jak i lmn.x
Anas Elghafari
To jest technicznie poprawna odpowiedź na pytanie: aliasy dla importowanych modułów.
DigitalEye
2
Jest to możliwe, ponieważ w Pythonie moduły są obiektami pierwszej klasy.
md2perpe
0

Tak, moduły można importować pod aliasem. używając jako słowa kluczowego. Widzieć

import math as ilovemaths # here math module is imported under an alias name
print(ilovemaths.sqrt(4))  # Using the sqrt() function
PythonLover
źródło
0

z MODUŁU importuj TAGNAME jako ALIAS

邢 烽 朔
źródło
1
Czy możesz podać bardziej szczegółowe informacje? Ta odpowiedź nie jest poprawnie sformatowana i nie daje wyjaśnienia.
10 Rep