通过导入,我需要访问“私有”函数(优化Scipy模块中的_minimize_cg
),但此私有函数不在__all__
定义中(当然)。
是否可以绕过这种“保护”来访问该功能。
(https://github.com/scipy/scipy/blob/v0.14.0/scipy/optimize/optimize.py#L1101)
来自scipy.optimize import _minimize_cg
- > ImportError:无法导入名称_minimize_cg
感谢。
PS:Python 2.7
答案 0 :(得分:3)
__all__
仅在使用from module import *
导入时受到影响。如果您只是明确地导入模块或模块成员,那么它没有效果:
from module import memberThatIsNotInAll
import module
module.memberThatIsNotInAll
它不是保护或访问修饰符,它只是在从模块导入所有内容时避免命名空间污染的设置。