印刷用のインラインif文を書くにはどうすればいいですか? 質問する

印刷用のインラインif文を書くにはどうすればいいですか? 質問する

ブール変数がに設定されている場合にのみ何かを印刷する必要があります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

ここで何が欠けているのでしょうか?

ベストアンサー1

Python には末尾のステートメントがありませif

ifPython には2 種類あります。

  1. if声明:

    if condition: statement
    if condition:
        block
    
  2. if (Python 2.5 で導入)

    expression_if_true if condition else expression_if_false
    

print aと は両方とも文であることに注意してくださいb = aaの部分だけが式です。したがって、次のように書くと

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ステートメントを 1 行で記述することもできますが、読みにくくなるため、2 行形式を避ける理由は実際にはありません。

おすすめ記事