当前位置: 首页 > 知识库问答 >
问题:

语法错误在内联如果...其他Python语法

吕鸿轩
2023-03-14

语法到底有什么问题,为什么会出现在下面的代码中?我已经数过括号了,但还没弄清楚。

c = ""
 print("Yes") if c else print("No")

注意:它给出了如下语法错误:

print("Yes") if c else print("No")
                            ^
SyntaxError: invalid syntax

共有1个答案

穆承运
2023-03-14

这是因为在python2和python3中,print函数的行为不同:
同时,在python3中,您的代码工作正常,而在python2中,它会引发错误<这是因为在python2中,打印实际上是一个语句,而不是一个函数;在这里,您可以找到关于函数和语句之间差异的更深入的QA。

顺便说一下,您可以解决将来导入python3打印功能的问题:

from __future__ import print_function

c = ""

print("Yes") if c else print("No")

输出:

No
 类似资料:
  • 问题内容: 我在else语句上不断收到语法错误,但不确定为什么会继续产生此错误。我在相同的def中没有其他任何语句,但仍然会出错。我该怎么办? 问题答案: 您的log_f.write语句还缺少结尾的’)’,这可能会使解析器感到困惑…并且缩进看起来不正确。剪切和粘贴问题?

  • 如果Django模型的字段与条件匹配,则将其指定给值。 在这种情况下我怎么什么都不做?如果条件通过,我们就不能做

  • 目前遇到此语法错误,错误发布在代码下方。 上面的代码,无法找出if语句上的语法错误。错误消息将很快粘贴为注释

  • 问题内容: 我正在看这里列出的代码,它们提供了一个非常有趣的结构来在线用Python编写“时钟”。我以前从未见过这种古怪的语法,而且老实说,我不知道它是如何工作的。这在Python中是完全黑魔法。但是,即使这不是编写作者意图的最Python方式,我仍然想知道它是如何工作的。 我的虽然过程: 如果持续时间已过,则返回True 作为int开始,但后来更改为lambda函数? 为什么每个清单的末尾都有清

  • 所以读了一些书之后我看到了 不是使用可选选项的首选方式(http://www.oracle.com/technetwork/articles/java/java8-optional-2175753.html).但如果我有这样一个if语句: 这是最好的方法还是有更推荐的方法?

  • 问题内容: 为什么Python在第9行的简单语句中给我一个语法错误? Python的版本是: 问题答案: 在Python 3中,print是一个函数,您需要像这样调用它。