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

标签 python if-statement conditional-statements 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/

相关文章:

android - 如何从 Android 调用 Python 脚本

python - 将包含特定字符串的行值移动到 Python 中的新列

使用列表作为值的 Python 字典,查找具有相同值的其他键

excel - 如何在Excel条件格式中自动填充条件?

python - 使用某些条件替换 numpy 数组中的元素

python - 通过 __builtins__ 访问内置函数

C++ 模板元编程, "static if"解决方法 - 可以改进吗?

python - Pygame:画线

Javascript 变量在不应该为 true 时变为 true

仅当其他表中的字段满足条件时 MySQL UPDATE