内联语法错误,如果…否则Python中的语法

时间:2018-08-03 09:27:52

标签: python python-2.7 if-statement syntax-error

语法到底有什么问题?为什么在下面的代码中? 我已经算出了括号,但无法弄清楚。

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

注意:它会产生类似于以下内容的语法错误:

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

1 个答案:

答案 0 :(得分:4)

之所以发生这种情况,是因为print函数在python2和python3中的行为不同:
同时,在python3中,您的代码可以完美运行,而在python2中,则会引发错误。
发生这种情况是因为在python2中,print实际上是statement而不是函数; here,您可以找到有关功能和语句之间区别的更深入的质量检查。

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

from __future__ import print_function

c = ""

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

输出:

No