首页 >后端开发 >Python教程 >为什么 Python 2.x 在使用 'end' 关键字参数时抛出'语法错误:调用 'print' 时缺少括号”?

为什么 Python 2.x 在使用 'end' 关键字参数时抛出'语法错误:调用 'print' 时缺少括号”?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-10 00:23:02534浏览

Why Does Python 2.x Throw a

使用 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn