Supporting Python 3(支持python3)——语言区别和暂时解决方法
语言区别和暂时解决方法 这个附录包含一个Python 2和Python 3的不同之处列表以及能不用2to3转换同时在Python 2和Python 3下运行的示例代码。 这个列表是不完整的。在这里列出的只有不包括bug修复的策划变化,即使如此也可能有意外的遗漏。 apply() 2to3 fixer ☑ six support ☐ Python 2的内置apply()在Python 3已经被移除。它用于调用一个函数,但由于你可以直接调用函数它并没有什么用并从Python 2.3起被废弃了。没有替代方案。 buffer() 2to3 fixer ☑ six support ☐ Python 2的buffer()内置函数被Python 3的类memoryview取代了。他们是不完全兼容,所以2to3除非你显示指定buffer固定器否则不会修改这个。 这个代码能不用2to3转换在Python 2和Python 3同时运行: >>> import sys >>> if sys.version_info > (3,): ... buffer = memoryview >>> b = buffer('yay!'.encode()) >>> len(b) 4 callable() 2to3 fixer ☑ six support ☑ Python 2的内置callable()在Python 3