我想知道哪个是有区别的
导入httplib和
来自httplib import *
顺便说一句,我使用的是python 2.73。
答案 0 :(得分:0)
使用import httplib
,您必须执行
httplib.HTTPConnection(host)
使用from httplib import *
,您可以
HTTPConnection(host)
最好在第二种方法中指定要导入的内容,如from httplib import HTTPConnection
答案 1 :(得分:0)
以下是不同的例子:
>>> import httplib
>>> SEE_OTHER
NameError: name 'SEE_OTHER' is not defined
>>> httplib.SEE_OTHER
303
>>> from httplib import *
>>> SEE_OTHER
303
>>> httplib.SEE_OTHER
NameError: name 'httplib' is not defined
from httplib import *
几乎不是你想要的,除非在交互式提示中试用httplib
。
有时您想要从库中导入一些名称 - 但在这种情况下,请明确指定名称:
from httplib import SEE_OTHER, MOVED_PERMANENTLY
导入模块,但前者在当前全局变量中创建一个新名称httplib
,而后者则将httplib
中的所有全局变量复制到当前全局变量中。**
*“几乎”因为即使在脚本中也有一些很好的用例。例如,使用C加速器提供模块的Python实现的惯用方法是使用foo.py
结束Python脚本from _foo import *
。
**这不是真的,因为__all__
和其他各种细节,但现在已足够接近。