I need to print some stuff only when a boolean variable is set to True. So, after looking at this, I tried with a simple example:
>>> a = 100
>>> b = True
>>> print a if b
File "<stdin>", line 1
print a if b
^
SyntaxError: invalid syntax
Same thing if I write print a if b==True.
What am I missing here?
Python does not have a trailing
ifstatement.There are two kinds of
ifin Python:ifstatement:ifexpression (introduced in Python 2.5)And note, that both
print aandb = aare statements. Only theapart is an expression. So if you writeit means
and similarly when you write
it means
Now what would it print/assign if there was no
elseclause? The print/assignment is still there.And note, that if you don’t want it to be there, you can always write the regular
ifstatement on a single line, though it’s less readable and there is really no reason to avoid the two-line variant.