Menyingkap Peranan "__all__" dalam Python
Senarai "__all__" dalam fail "__init__.py" memainkan peranan penting dalam mengawal simbol yang dieksport apabila "dari
Secara khusus, "__all__" mentakrifkan senarai rentetan yang mewakili simbol dalam modul yang boleh diakses apabila sintaks "import *" wildcard digunakan. Sebagai contoh, pertimbangkan kod berikut dalam modul bernama "foo.py":
__all__ = ['bar', 'baz'] waz = 5 bar = 10 def baz(): return 'baz'
Dalam contoh ini, simbol "bar" dan "baz" dieksport secara eksplisit menggunakan "__all__". Akibatnya, apabila anda mengimport modul "foo" dengan "from foo import *", hanya dua simbol ini akan tersedia. Semua simbol lain, seperti "waz," akan disembunyikan.
from foo import * print(bar) print(baz()) # Attempting to access "waz" will raise an exception. print(waz)
Jika senarai "__all__" diulas, gelagat import lalai akan berkuat kuasa, di mana semua simbol yang tidak bermula dengan garis bawah diimport. Dalam kes ini, pernyataan import akan berjaya dan "waz" juga boleh diakses.
# Comment out __all__ from foo import * print(bar) print(baz()) print(waz)
Adalah penting untuk ambil perhatian bahawa "__all__" hanya mempengaruhi sintaks "dari
Atas ialah kandungan terperinci Bagaimanakah Modul Kawalan `__all__` Python Mengimport dengan `dari import *`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!