python – How to write inline if statement for print?

python – How to write inline if statement for print?

Python does not have a trailing if statement.

There are two kinds of if in Python:

  1. if statement:
    if condition: statement
    if condition:
        block
    
  2. if expression (introduced in Python 2.5)
    expression_if_true if condition else expression_if_false
    

And note, that both print a and b = a are statements. Only the a part is an expression. So if you write

print a if b else 0

it means

print (a if b else 0)

and similarly when you write

x = a if b else 0

it means

x = (a if b else 0)

Now what would it print/assign if there was no else clause? The print/assignment is still there.

And note, that if you dont want it to be there, you can always write the regular if statement on a single line, though its less readable and there is really no reason to avoid the two-line variant.

Inline if-else EXPRESSION must always contain else clause, e.g:

a = 1 if b else 0

If you want to leave your a variable value unchanged – assing old a value (else is still required by syntax demands):

a = 1 if b else a

This piece of code leaves a unchanged when b turns to be False.

python – How to write inline if statement for print?

The else statement is mandatory. You can do stuff like this :

python – How to write inline if statement for print?

>>> b = True
>>> a = 1 if b else None
>>> a
1
>>> b = False
>>> a = 1 if b else None
>>> a
>>> 

EDIT:

Or, depending of your needs, you may try:

>>> if b: print(a)

Leave a Reply

Your email address will not be published. Required fields are marked *