标签: 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
答案 0 :(得分:4)
之所以发生这种情况,是因为print函数在python2和python3中的行为不同: 同时,在python3中,您的代码可以完美运行,而在python2中,则会引发错误。 发生这种情况是因为在python2中,print实际上是statement而不是函数; here,您可以找到有关功能和语句之间区别的更深入的质量检查。
print
顺便说一句,您可以解决从未来导入python3打印功能的问题:
from __future__ import print_function c = "" print("Yes") if c else print("No")
输出:
No