python "str is bytes"等同于sys.version_info测试吗?



使用是否正确

if str is bytes: ...

而不是

if sys.version_info < (3,): ...

区分 Python2 和 Python3? 特别是当由于str可能不是unicode而需要版本依赖代码时,前者有时对我来说似乎更清晰(并且避免了经常无端的导入系统(,但我从未见过使用此测试的python代码。 "str is bytes"只是作为版本 2 CPython 的一个怪癖,还是在所有 python2 中都有保证?

请使用sys.version_info < (3,)告诉读者您正在尝试识别 python2 案例。

最新更新