这两行之间有什么区别?
from PyQt4 import QtGui
from PyQt4.QtGui import *
第一行是“从模块PyQt4导入QtGui类” 但是第二行意味着什么? “从模块PyQt4的QtGui导入所有内容” 是不是一样?
答案 0 :(得分:11)
第一个语句将指定的模块导入当前命名空间 第二个语句将指定模块中的所有内容导入当前名称空间。
所以1)意味着你仍然需要通过模块命名空间显式引用任何类/函数等 2)意味着你没有
这是一个比较和对比,显示差异
1)
import math
d = math.sqrt(10)
2)
from math import *
d = sqrt(10)
请注意,如果需要,您可以选择从模块导入特定符号,例如
from math import sqrt
d = sqrt(10)
答案 1 :(得分:0)
包可以导出多个东西。不同之处在于第一行从包中导入单个对象,第二行导入所有内容。如果您导入的包只导出一件事,那么这两个是同义词。