Rumah > Soal Jawab > teks badan
Nantikan __all__
mengawal akses modul
Menurut kontrak komuniti, perkara peribadi bermula dengan _
, tetapi baru-baru ini saya mendapati rakan sekerja melaraskan antara muka peribadi (modul yang saya tulis)
Python ialah bahasa yang fleksibel, dan peraturan tidak bertulis ialah "konvensyen atas konfigurasi"
Saya mencari maklumat __all__
dan fikir ia boleh memenuhi keperluan saya, tetapi tidak (lihat di bawah)
Jadi, __all__
Nampak tak guna langsung?
base.py
__all__ = ('a', 'b', )
a = 1
b = 2
c = 3 # 不希望别人访问
test.py
import base
print(base.c)
Output
3
Python 2.7
过去多啦不再A梦2017-05-18 10:52:54
Fail
test.py ditukar kepada
from base import *
print a
print b
print c
Hasilnya adalah seperti berikut:
❯ python test.py ⏎
1
2
Traceback (most recent call last):
File "test.py", line 8, in <module>
print c
NameError: name 'c' is not defined