Python 2to3在函数参数周围添加了额外的括号

jxr*_*mos 8 python python-2to3

我有点困惑,为什么2to3要麻烦拥抱我已经采用功能样式的打印参数,将其包装在一组额外的括号中。例如

print("\t[Warn] Can not connect {}".format(ssid))
Run Code Online (Sandbox Code Playgroud)

变成

print(("\t[Warn] Can not connect {}".format(ssid)))
Run Code Online (Sandbox Code Playgroud)

这些本质上是保守的假阳性吗?我在想,也许)format函数的尾部抛出了它的逻辑。

小智 5

从文档中

传递-p时,2to3将print作为函数而不是语句。当从将来使用 import print_function 时,这很有用。如果未指定此选项,则打印修复程序将无法在带括号的打印语句(例如print(“ a” +“ b” +“ c”))和真正的函数调用。

2to3文件