Kini kita perlu membangunkan sistem pemalam. Sesiapa sahaja dalam sistem pemalam boleh menulis fail PY dan memuatkannya. Tetapi anda perlu memperkenalkan perpustakaan program utama, seperti
# test.py
from lib.function import *
...
Bagaimana untuk menghalang pengguna daripada mengakses kaedah atau pembolehubah lain dalam lib?
semua Jika saya menambah nama, program utama saya perlu memanggil semua *, boleh?
Pembolehubah atau kaedah yang boleh diimport dalam
python
并没有真正的私有变量或者方法, 所以基本上是无法阻止别人访问另一个模块的方法或者变量, 但是如果用户是通过from lib.function import *
, 那么我们可以通过__all__
属性去设置*
, contohnya:Boleh lihat di
b2.py
的输出, 并没有bar
和baz
, 所以我们可以通过这种方式, 来做一个简单的控制, 当然下划线开头的私有变量也限制了, 但这种限制对 import abc这种引入方式无效