python - What is the function of elif? -
if wanted check multiple conditions, can't use multiple if statements? example:
a = 10 b = 20 if == b:   print('equal') if < b:   print('less') if > b:   print('greater')      
using multiple if statements evaluate every if condition. conditions in example mutual exclusive, might have similar result. however, if a or b changes in-between, condition might become true:
a = 5 b = 7 if < b:     = b if == b:     b += 1   both conditions evalute true , executed. might not intended, use:
a = 5 b = 7 if < b:     = b elif == b:     b += 1       will execute first condition.
even mutual exclusive conditions example, every expression has evaluated, slower second variant.
note elif (aka else if) identical to:
if <cond1>:     pass else:     if <cond2>:         pass     else:         if <cond3>:             pass   as can see, result in tests run out of text , less readable than:
if <cond1>:     pass elif <cond2>:     pass ...   this more expressive, reader has not check conditions mutual exclusive. semantics clear beginning.
finally:
something like:
i = 1 if none:     k = 5 elif not (i <= 0):     k =   will not work using example.
Comments
Post a Comment