我想知道
import httplib 和
from httplib import *之间的区别是什么
?顺便说一下,我使用的是 python 2.73。
问问题
489 次
2 回答
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
使用from _foo import *
.
** 这并不完全正确,因为__all__
还有其他各种细节,但现在已经足够接近了。
于 2013-05-25T00:21:05.980 回答
0
,import httplib
你必须做
httplib.HTTPConnection(host)
,from httplib import *
你可以做
HTTPConnection(host)
最好在第二种方法中指定要导入的内容,如from httplib import HTTPConnection
于 2013-05-25T00:17:38.543 回答