如何写内联if语句打印?

问题:

只有当布尔变量设置为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

  1.  if语句:
    条件:语句

     
    如果条件:
        块
     
  2.  if 表达(在Python 2.5中引入) 如果条件else expression_if_false,则
      expression_if_true
     
并注意到print ab = 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语句,尽管它的可读性不太好,但真正没有理由避免使用两行变体。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: How to write inline if statement for print?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

9 + 1 =