Rumah > pembangunan bahagian belakang > Tutorial Python > Adakah 'import *' Import __init__.py dalam Python?

Adakah 'import *' Import __init__.py dalam Python?

Linda Hamilton
Lepaskan: 2024-12-10 08:10:10
asal
1061 orang telah melayarinya

Does

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__
Salin selepas log masuk

Kebaikan dan Kelemahan "import *":

Kelebihan utama "import *" ialah kemudahan mengimport semua simbol sekaligus. Walau bagaimanapun, amalan ini secara amnya tidak digalakkan kerana:

  • Perlanggaran ruang nama: Simbol yang diimport mungkin bercanggah dengan simbol sedia ada dalam modul semasa.
  • Ketidakcekapan : Mengimport sejumlah besar simbol boleh melambatkan program.
  • Kekurangan dokumentasi yang jelas: Mungkin sukar untuk menjejaki asal simbol yang diimport apabila menggunakan "*".

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
    Salin selepas log masuk
  • Modul aliasing:

    import math as m
    Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan