Maison > Questions et réponses > le corps du texte
Dans l'attente de __all__
contrôler l'accès au module
Selon le contrat communautaire, les choses privées commencent par _
, mais récemment j'ai découvert qu'un collègue avait ajusté l'interface privée (un module que j'ai écrit)
Python est un langage flexible, et la règle non écrite est "la convention plutôt que la configuration"
J'ai recherché les informations de __all__
et j'ai pensé qu'elles pourraient répondre à mes exigences, mais ce n'est pas le cas (voir ci-dessous)
Alors, __all__
Ça semble ne servir à rien ?
base.py
__all__ = ('a', 'b', )
a = 1
b = 2
c = 3 # 不希望别人访问
test.py
import base
print(base.c)
Sortie
3
Python 2.7
过去多啦不再A梦2017-05-18 10:52:54
Le fichier
test.py a été remplacé par
from base import *
print a
print b
print c
Les résultats sont les suivants :
❯ 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