只有当布尔变量设置为True.所以之后,我尝试了一个简单的例子:
True
>>> a = 100 >>> b = True >>> print a if b File "<stdin>", line 1 print a if b ^ SyntaxError: invalid syntax
如果我写的话也是一样print a if b==True。
print a if b==True
我在这里想念什么?
Python 没有 尾随if 语句 。
if
ifPython中有两种:
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
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子句,它将打印/分配什么?打印/分配 仍然存在 。
else
请注意,如果您不希望它出现在那里,您始终可以将常规if语句写在一行上,尽管它的可读性较差,并且确实没有理由避免使用两行变体。