Bisakah Anda mendefinisikan alias untuk modul yang diimpor dengan Python?

142

Dengan Python, apakah mungkin untuk mendefinisikan alias untuk modul yang diimpor?

Contohnya:

import a_ridiculously_long_module_name

... jadi itu memiliki alias 'short_name'.

Jordan Parmer
sumber

Jawaban:

194
import a_ridiculously_long_module_name as short_name

juga bekerja untuk

import module.submodule.subsubmodule as short_name
vartec
sumber
dari modul impor sub_module_1 sebagai s1, sub_module_2 sebagai s2
phreed
41

Cek disini

import module as name

atau

from relative_module import identifier as name
Brian R. Bondy
sumber
8
Hmm, ketika saya coba lakukan from name import X(setelah definisi alias) saya dapatkan No module named name. Bisakah kita mengimpor modul dari alias?
Amelio Vazquez-Reina
2
Sepertinya Anda tidak bisa, berikut adalah jawaban paling jelas yang saya temukan untuk stackoverflow.com/a/40823467
fr_andres
32

Jika sudah selesai:

import long_module_name

Anda juga bisa memberikannya alias dengan:

lmn = long_module_name

Tidak ada alasan untuk melakukannya dengan cara ini dalam kode, tetapi terkadang saya merasa berguna dalam interpreter interaktif.

John Fouhy
sumber
5
Untuk beberapa tujuan, ini lebih baik daripada jawaban teratas (impor long_module_name sebagai lmn) karena Anda masih bisa mereferensikan modul dengan long_module_name.x dan lmn.x
Anas Elghafari
Ini adalah jawaban yang benar secara teknis untuk pertanyaan: alias untuk modul yang diimpor.
DigitalEye
2
Alasan hal ini mungkin adalah karena modul adalah objek kelas satu dengan Python.
md2perpe
0

Ya, modul dapat diimpor dengan nama alias. menggunakan sebagai kata kunci. Lihat

import math as ilovemaths # here math module is imported under an alias name
print(ilovemaths.sqrt(4))  # Using the sqrt() function
realmanusharma
sumber
-1

dari MODULE impor TAGNAME sebagai ALIAS

邢 烽 朔
sumber
1
Bisakah Anda lebih spesifik? Jawaban ini tidak diformat dengan benar, dan tidak memberikan penjelasan.
10 Rep