导出函数如果我有以下内容的模块/文件foo.py
:不从Python模块
from math import sqrt
def foo():
pass
如果我将其导入另一个脚本,sqrt
也模块foo
内定义。
import foo
dir(foo)
的输出是
[..., # other things
'foo',
'sqrt']
如何避免这种情况?即,要么指定sqrt
不被导出,要么仅导出特定功能 - 在这种情况下,仅导出用户定义的功能。我知道,对于用户定义的函数,您可以在模块内通过前缀下划线来私有地定义它们,但在这种情况下,它不是用户定义的函数,所以我不能用下划线前缀来定义它。
为什么你需要防止这种情况?这是正常的python行为,您向模块提出了所有在其中定义的名称。 –