我问的是模块私有化,而不是阶级私有化。
在here中,模块私有以一个下划线开头,在使用导入命令的from import *表单时不会复制这样的元素;但是,如果使用导入语法,则导入该元素。
所以问题是,如果我必须使用导入语法,如何避免导入模块私有函数?
发布于 2022-05-24 03:03:03
一种可行的方法是为模块创建一个单独的文件夹,添加__init__.py
文件并导入模块的所有内容。
我们假定原来的结构如下:
.
├── module_a.py
└── test_module_a.py
修改为:
.
├── module_a
│ ├── __init__.py
│ └── _module_a.py
└── test_module_a.py
__init__.py
文件只导入模块的内容,一个使用星号语法的文件:
# module_a/__init__.py
from ._module_a import *
因此,当您导入module_a
时,私有函数将不可见,因为它尚未被__init__.py
文件导入。
https://stackoverflow.com/questions/72356717
复制相似问题