使用 Print 和 End 关键字参数处理语法错误
尝试执行以下代码时:
if Verbose: print("Building internal Index for %d tile(s) ...", end=' ')
an发生错误:“语法错误:调用‘打印’时缺少括号”。这是因为 Python 2.x 不支持关键字参数 end。
理解差异
在 Python 2.x 中,将函数打印为语句。因此,上面的代码被解释为对 print 的元组包装调用,最后一个参数是字符串文字。但是,字符串文字不支持关键字参数,从而导致错误。
Python 2.x 的解决方案
在 Python 2.x 中,采用以下其中一项以空格结束行的方法:
在 print 语句中添加最后一个逗号:
print "Building internal Index for %d tile(s) ...",
使用 sys.stdout直接模块以更好地控制输出:
import sys sys.stdout.write("Building internal Index for %d tile(s) ... ")
在 Python 2.x 中启用 End 关键字参数
在 Python 2 的最新版本中.x(2.5 及更高版本)中,__future__ 模块允许通过导入 print_function 将 print 函数作为函数激活。但是,此方法可能与较旧的 Python 2.x 版本不兼容。
过渡到 Python 3.x
在 Python 3.x 中, print 的行为类似于函数,允许使用关键字参数,例如 end。因此,原始代码无需任何修改即可在 Python 3.x 中正确执行。
以上是为什么 Python 2.x 在使用 'end' 关键字参数时抛出'语法错误:调用 'print' 时缺少括号”?的详细内容。更多信息请关注PHP中文网其他相关文章!