Python小推车python模块

Python six模块

2019-03-13  本文已影响4人  LabVIEW_Python

在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^

上一篇下一篇

猜你喜欢

热点阅读