我是新来的,不是 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 语句只是将本地名称映射到已加载的对象?有没有更好的方法来做到这一点? (非常欢迎链接到教程等。我已经找了一段时间,但找不到好的答案。)

请您参考如下方法:

Usually所有导入都放在文件的开头。在函数体中导入模块将导入仅在该范围内的模块:

def f(): 
    import sys 
    print 'f', sys.version_info 
 
def g(): 
    print 'g', sys.version_info 
 
if __name__ == '__main__': 
    f() # will work 
    g() # won't work, since sys hasn't been imported into this modules namespace 


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

Python 子进程 : why won't the list of arguments work analogous to the full shell string