python - 如何编写用于打印的内联 if 语句?

标签 python if-statement inline

只有当 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:

  1. if 语句:

    if condition: statement
    if condition:
        block
    
  2. if 表达式(在 Python 2.5 中引入)

    expression_if_true if condition else expression_if_false
    

请注意,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 语句写在一行上,尽管它的可读性较差并且确实没有理由避免两行变体。

关于python - 如何编写用于打印的内联 if 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11880430/

相关文章:

python - 测试 Django 内联模型表单 : How to arrange POST data?

python - Openerp-如何删除图像上的编辑选项?

python - 使用 Matplotlib 在圆环图上显示百分比

python - 查找两个字符串的接触和非接触部分

python - 使用 if 语句列出理解

python - 在 Python 2.7 中使用语句 True 和 False

python - python中重复坐标的总和属性

c++ - 如果用户输入的字符串变量无效,如何重复输入命令-C++

c++ - 为什么内联函数会有多个相同的定义?

html - 内联<li>行为中阻止<a>