9

我有点困惑,为什么2to3要费心将我的打印参数包含在一组额外的括号中,这些参数已经是函数式的。例如

print("\t[Warn] Can not connect {}".format(ssid))

变成

print(("\t[Warn] Can not connect {}".format(ssid)))

这些本质上是保守的误报吗?我在想)格式函数中的尾随可能是在抛出它的逻辑。

4

1 回答 1

7

从文档

当 -p 被传递时,2to3 将 print 视为函数而不是语句。这在使用 from future import print_function 时很有用。如果未给出此选项,则打印修复程序将在一组额外的括号中包围打印调用,因为它无法区分带括号的打印语句(例如 print ("a" + "b" + "c"))和 a真正的函数调用。

2to3 文档

于 2019-04-02T14:04:04.577 回答