只有当 bool 变量设置为 True
时,我才需要打印一些内容。所以,看完this ,我尝试了一个简单的例子:
>>> a = 100
>>> b = True
>>> print a if b
File "<stdin>", line 1
print a if b
^
SyntaxError: invalid syntax
如果我写 print a if b==True
也是一样。
我在这里错过了什么?
最佳答案
Python 没有有尾随 if
语句。
Python中有两种if
:
if
语句:if condition: statement if condition: block
if
表达式(在 Python 2.5 中引入)expression_if_true if condition else expression_if_false
请注意,print a
和 b = a
都是语句。只有 a
部分是表达式。所以如果你写
print a if b else 0
意思是
print (a if b else 0)
在你写作时也是如此
x = a if b else 0
意思是
x = (a if b else 0)
现在如果没有 else
子句,它会打印/分配什么?打印/作业还在。
请注意,如果您不希望它在那里,您总是可以将常规的 if
语句写在一行上,尽管它的可读性较差并且确实没有理由避免两行变体。
关于python - 如何编写用于打印的内联 if 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11880430/