Python six模块

作者: LabVIEW_Python | 来源:发表于2019-03-13 09:46 被阅读4次

在TensorFlow Object Detection API的范例程序:object_detection_tutorial.ipynb 中,有一句:

import six.moves.urllib as urllib

大家可能有一个疑问,urllib是Python自带的用于url访问的标准库,为什么还要这样来引用呢?

打开six的介绍,可以看到:six是为了解决Python2 和 Python3 代码兼容性而产生的,众所周知 Python 2 和 Python 3 版本的分裂给 Python 开发者们带来了很大的烦恼,为了使代码同时兼容两个版本,往往要增加大量的代码,典型的就有urllib部分方法不兼容。

所以,当编写代码考虑Python2 和 Python3 代码兼容性问题时,用:

import six.moves.urllib as urllib

不考虑兼容性问题时,直接用

import urllib

顺便说一下,six这个名字来源于 6 = 2 x 3,为什么不用‘Five’呢?5 = 2+3,一是因为乘法更有力量(more powerful),另外是因为five这个名字已经被Zope Five项目先占了^O^

相关文章

网友评论

    本文标题:Python six模块

    本文链接:https://www.haomeiwen.com/subject/qdnapqtx.html