Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 导入httplib和从httplib导入*之间有什么区别?_Python_Module_Httplib - Fatal编程技术网

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
方法,最好指定要导入的内容,而不是使用
*
操作符。