1. ホーム
  2. python

[解決済み] 印刷用のインラインif文の書き方は?

2022-03-20 16:54:31

質問

あるブール変数に値が設定されたときだけ、あるものを印刷する必要があります。 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 .

何が足りないのでしょうか?

解決方法は?

Pythonは ではなく は、末尾に if ステートメント .

の2種類があります。 if をPythonで使用します。

  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 ステートメントを1行で書くと可読性は落ちますが、2行のバリエーションを避ける理由は本当にありません。