python inline conditional code example

Example 1: python inline conditional

x = 10 if False else 0

Example 2: implicit if python

x = a if b else 0

Example 3: python inline if

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 don't want it to be there, you can always write the regular if statement on a single line, though it's less readable and there is really no reason to avoid the two-line variant.

Example 4: python oneline if

# Cigar Party problem in  https://codingbat.com/prob/p195669
def cigar_party(cigars, is_weekend):
  result = False
  result = True if (is_weekend and cigars >= 40) or (cigars >= 40 and cigars <= 60) else False
  return result

Tags: