Python 导入httplib和从httplib导入*之间有什么区别?
我想知道Python 导入httplib和从httplib导入*之间有什么区别?,python,module,httplib,Python,Module,Httplib,我想知道 导入httplib和 从httplib导入* 顺便说一句,我正在使用Python2.73。和导入httplib,您必须这样做 httplib.HTTPConnection(host) 使用httplib import*中的,您可以 HTTPConnection(host) 最好在第二种方法中指定要导入的内容,如从httplib import HTTPConnection导入的,,以下是不同的示例: >>> import httplib >>> S
导入httplib和
从httplib导入*
顺便说一句,我正在使用Python2.73。和
导入httplib
,您必须这样做
httplib.HTTPConnection(host)
使用httplib import*中的,您可以
HTTPConnection(host)
最好在第二种方法中指定要导入的内容,如从httplib import HTTPConnection导入的,,以下是不同的示例:
>>> 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
httplib导入的*
几乎绝对不是您想要的,除非在交互式提示中尝试httplib
有时您希望从库中导入几个名称,但在这种情况下,请明确指定名称:
from httplib import SEE_OTHER, MOVED_PERMANENTLY
两者都导入模块,但前者在当前全局文件中创建一个新名称,httplib
,而后者将所有全局文件从httplib
复制到当前全局文件中**
*“几乎”是因为即使在脚本中也有一些好的用例。例如,使用C加速器提供模块的Python实现的惯用方法是使用来自_fooimport*
的结束Python脚本foo.py
**这并不完全正确,因为\uuuuu all\uuuuu
和其他各种细节,但现在已经足够接近了。它的首选项可能重复,但是如果使用from
方法,最好指定要导入的内容,而不是使用*
操作符。