使用进口声明的准则

时间:2011-09-09 04:08:34

标签: python

  

可能重复:
  Should I use "from package import utils, settings" or "from . import utils, settings"

从python标准库导入时,如何选择以下选项?:

import foo
from foo import bar

有什么考虑因素?这是足迹吗?或者只是一个潜在的名字冲突事件?

如果一个模块的字符串处理最少,那么这会走得太远吗?:

from string import split

如果一个程序有多个模块,那么一个模块导入的结果是否可以被程序中的后续模块使用?

如果仅在冷代码中需要导入的模块,那么将导入隐藏在包含冷代码的逻辑块中是否被认为是好的形式?

1 个答案:

答案 0 :(得分:0)

如果您使用pyflakes,如果您不使用已导入的东西,它会抱怨。

我发现,如果我只需要一个或两个函数/类,那么我将直接导入它们:如果我需要很多,我可能只使用命名空间版本(foo.bar)。

需要付出代价。查找,所以如果你在嵌套循环中有很多它们,最好直接导入函数,或者你可以将函数重新绑定到本地名称。

import foo

def bar(baz):
    for qux in baz:
         for i in range(100000):
             foo.bar(qux, i)

减少查找时间:

import foo

def bar:
    foo_bar = foo.bar
    for qux in baz:
        for i in range(100000):
            foo_bar(qux, i)