Python中导入的模块/功能的范围


问题内容

我是新来的,不是100%知道如何问这个问题,所以我就直接学习。我应该在每个函数的开头使用import语句,编写所有需要导入的所有模块/函数的函数。该功能的范围?即

def func1()
    import os.path
    print func(2)
    do something with os.path

def func2()
    import os.path
    do something with os.path

这会增加内存开销或其他开销,还是import语句只是将本地名称映射到已加载的对象?有更好的方法吗?(非常欢迎转到教程等的链接。我已经找了一段时间,但找不到很好的答案。)


问题答案:

该模块仅在首次导入时进行处理;随后的导入将仅复制对本地范围的引用。但是,最好是在可能的情况下将其导入模块顶部的样式。有关详细信息,请参见PEP 8。