在python中导入导入的导入

时间:2011-08-21 21:53:40

标签: python import

问题:在python中,使用子类中的导入是否明智,还是重要?


的信息:

所以,我有一个程序分成6个文件。在几乎每一个.py文件中我都导入了线程,套接字和pickle。我想知道的是,它之间存在效率差异:

File1.py:

import socket

File2.py:

import File1
import socket

和此:

File2.py:

import File1
from File1 import socket

甚至这个:

File2.py

import File1
socket = File1.socket

3 个答案:

答案 0 :(得分:3)

请勿使用from File1 import socket。它不会产生性能差异,但它让其他人不得不查看另一个文件,看到File1.socket实际上是socket,如果你决定不这样做,它可能会变得混乱在socket中需要File1

此外,这是针对the python principles的,因为:

  1. 这不是显而易见的方法
  2. flat比嵌套
  3. 更好
  4. 可读性计数
  5. 特殊情况不足以打破规则

答案 1 :(得分:2)

import语句非常智能,可以在导入模块时实现,而不是再次导入模块。所以:

File.py:

import socket

File2.py:

import File1
import socket

很好。

答案 2 :(得分:1)

不,没有效率差异。第一种方法是最好的,因为它促进了模块化(例如,如果File1.py决定停止导入socket,那么File2.py会被破坏)