Apakah "import *" Import dalam Python dan Bagaimana Ia Berkaitan dengan __init__.py?
Dalam Python, "import * " pernyataan mengimport semua simbol bukan peribadi (iaitu, tidak bermula dengan garis bawah) daripada modul tertentu ke dalam modul semasa. Ini membenarkan akses terus kepada simbol yang diimport tanpa menggunakan awalan nama modul.
Adakah "import *" Import __init__.py?
Tidak, "import *" kenyataan tidak mengimport fail __init__.py secara automatik yang terdapat dalam folder yang mengandungi. __init__.py ialah fail khas yang digunakan Python untuk memulakan modul apabila ia diimport. Untuk mengimport __init__.py secara eksplisit, anda mesti menggunakan pernyataan "import" dengan nama modul seperti berikut:
from project.model import __init__
Kebaikan dan Kelemahan "import *":
Kelebihan utama "import *" ialah kemudahan mengimport semua simbol sekaligus. Walau bagaimanapun, amalan ini secara amnya tidak digalakkan kerana:
Amalan Pilihan :
Daripada "import *", adalah disyorkan untuk mengimport hanya simbol khusus yang anda perlukan. Ini boleh dilakukan menggunakan sama ada:
Import eksplisit:
from math import pi
Modul aliasing:
import math as m
Submodul dan "import *":
Apabila modul mengandungi submodul, "import *" tidak tidak mengimport submodul ini melainkan ia disertakan secara eksplisit dalam atribut semua bagi utama modul.
Kesimpulan:
Walaupun "import *" boleh menjadi mudah, ia secara amnya tidak digalakkan memihak kepada import eksplisit atau pengalianan modul. __init__.py ialah fail khas yang digunakan untuk memulakan modul dan ia mesti diimport secara berasingan menggunakan pernyataan "import".
Atas ialah kandungan terperinci Adakah 'import *' Import __init__.py dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!