我正在尝试构建一些自定义Python模块。
即使我能够使用所有模块。当我尝试导入模块时,正在导入其他模块。
例如:
mod1.py
import os
import sys
def f(x):
return (x**2)
main.py
import mod1
dir(mod1.os)
如何避免这种行为?用户应该不能从mod1访问其他模块。在此示例中,os和sys。
我应该将import语句放在函数内吗?还有其他方法可以防止这种情况发生吗?
答案 0 :(得分:0)
您看到的行为是完全正常的。 Python没有像其他语言那么强烈地隐藏元素。 我们都是成年人,在没有该语言强力执行的情况下,应该表现得负责任。
我应该将import语句放在函数内吗?
不,您的代码就可以了。
如果您打算编写一堆python代码,则应遵循其他人所遵循的常规约定,如示例代码所示。在main.py中,如果要访问os
函数,则一定要在其中使用import
,而不要从mod1.os
借用引用。