Apakah "import *" Import?
Dalam Python, "import *" mengimport segala-galanya daripada modul yang ditentukan ke dalam modul semasa. Ini membenarkan akses terus kepada objek yang diimport tanpa meletakkannya awalan dengan nama modul.
Contohnya:
>>> from math import * >>> pi 3.141592653589793 >>> sin(pi/2) 1.0
Terperangkap dalam Web Perlanggaran Nama
Walau bagaimanapun, mengimport "semuanya" dengan "*" tidak disyorkan kerana ia boleh mencipta perlanggaran ruang nama dengan pembolehubah atau fungsi sedia ada. Selain itu, ia mungkin tidak cekap jika sejumlah besar objek diimport.
Mengimport secara Eksplisit lwn. Mengimport dengan "*"
Adalah lebih baik untuk mengimport secara eksplisit hanya objek yang diperlukan:
>>> from math import pi >>> pi 3.141592653589793 >>> sin(pi/2) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'sin' is not defined
Sebagai alternatif, modul boleh diimport di bawah ruang nama atau aliasnya sendiri:
>>> import math >>> math.pi 3.141592653589793 >>> import math as m >>> m.pi 3.141592653589793
Pengecualian kepada "* Import"
Dalam kes tertentu, mungkin sesuai untuk mengimport semua dengan "". Sebagai contoh, sesetengah perpustakaan menyediakan sub-modul yang direka khusus untuk diimport dengan "" dan mengandungi pemalar dan fungsi yang biasa digunakan.
Memahami Mekanisme "* Import"
Dengan "import *", objek berikut diimport:
Kehalusan Sub-modul
Bertentangan dengan persepsi biasa, "from xyz import " tidak tidak mengimport sub-modul. Sub-modul mesti diimport secara eksplisit secara berasingan, mis. "dari urllib.request import ".
Atas ialah kandungan terperinci Bagaimanakah 'import *' Sebenarnya Berfungsi dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!