我只是想知道,我常常有很长的蟒蛇文件和进口趋于相当快堆。

PEP8说,进口应该总是在文件开头写的。


是否所有的进口图书馆得到调用文件中编码的功能,当输入?还是只将必要的库被调用?

是否有意义担心这一点?有没有理由导入需要它们的函数或类内库?

有帮助吗?

解决方案

每次命中的Python import语句,它检查是否该模块已经进口的,如果不是,它进口。所以当你的文件被运行或另一个模块导入你的文件的顶部的进口会很快发生。

有一些开销这一点,所以它通常最好保持进口在你的文件的顶部,使成本得到照顾的前面。

其他提示

进口最好的地方是在你的文件的顶部。的文档在一个地方的依赖关系,使他们从没有错误出现较早。进口本身实际上发生在import声明的时间,但是这很少重要得多。

这是不典型的,你有什么,直到你在需要它的函数或方法不导入库来获得。 (从未有任何一类的身体里面这样做得不偿失。)你想可选的依赖,甚至罕见的,这是为了让他们,但正确的技术,是罕见的。也许你可以共享一个引人注目的使用案例?

  

是否有意义担心   此?

没有

有任何理由需要它们的功能或类别内导入库。 这只是慢,因为import语句进行检查,看它是否被导入一次,并认识到它已导入。

如果你把这个在该公司经常调用的函数,你会浪费一些时间,所有的import检查。

当包含该进口模块被执行或进口的进口发生,而不是当该功能被调用。

通常情况下,我不会担心。如果您遇到速度变慢,你可能会资料,看看您的问题是否与此有关。如果是,你可以检查,看看是否你的模块可以分割成更小的模块。

但是,如果所有的文件都习惯用同一个节目,你会刚刚结束了反正进口一切。

如果一个模块中的功能是导入一个给定的其他模块只有一个(说你有一个函数发送微博,只有一些配置选项上),然后是有意义的导入特定模块的功能。

除非我看到了一些分析数据证明,否则,我的猜测是,函数中的import语句的开销完全可以忽略不计的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top