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

Mary-Kate Olsen
发布: 2024-11-10 00:23:02
原创
485 人浏览过

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板