与许多语言一样,Python具有将方法声明为私有,受保护或公共的约定。 C#还有“内部”方法,可以从课外访问,但不能从程序外部访问。
Python中的私有和受保护方法未得到强制执行 - 它们只是一种命名约定。 Python是否有类似的约定来声明方法应该可以从类外部访问而不是公共接口的一部分? Python中的公共方法是否被假定为公共接口的一部分?
答案 0 :(得分:2)
模块级私有函数可能有帮助吗?
f.py
def __privFunc():
print 'Yes'
def func():
print 'Yolo'
默认情况下不会导入 __privFunc
>>> from f import *
>>> __privFunc()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name '__privFunc' is not defined
>>> func()
Yolo