It's probably worth pointing out that these two functions are not entirely 
equivalent:
def t1():
  if condition:
    return True
  return False

def t2():
  return condition

because 'condition' does not have to evaluate to a boolean value, it can be any 
Python value.

Here is a simple example where 'condition' is just the value of a parameter:
>>> def t1(a):
...   if a:
...     return True
...   return False
...
>>> def t2(a):
...   return a
...

If a is actually True or False these two functions return the same value:
>>> a=True; print t1(a), t2(a)
True True
>>> a=False; print t1(a), t2(a)
False False

For other values of a they return different values; t1 will always return True or False, while t2, obviously, returns a:
>>> a=1; print t1(a), t2(a)
True 1
>>> a=None; print t1(a), t2(a)
False None
>>> a=[]; print t1(a), t2(a)
False []


Usually this is fine; code such as
if t1(a): print 'a is True'

will work the same with t1 or t2. OTOH, if you explicitly test the return value (which is *not* recommended practice), you will get different results:
>>> if t1(100) == True: print '100 is True'
...
100 is True


>>> if t2(100) == True: print '100 is True'
...
(nothing prints)

I recommend *not* testing explicitly for True, and I recommend the t2() form. Then Python will do what you expect. But I thought it was worth pointing out the difference.

Kent

Gregor Lingl wrote:


Brian van den Broek schrieb:

If my original bit of code, the structure was like:

output_value = False
if condition:
    output_value = True
return output_value

Mine would be like yours if transformed to:

if condition:
    return True
return False


Hi Brian! Do you mean, that condition is something which is True od False? And if condition is True you want to return True? And if condition is False you want to return False?

So why not simlpy:

return condition

?

Regards,
Gregor

_______________________________________________
Tutor maillist  -  [EMAIL PROTECTED]
http://mail.python.org/mailman/listinfo/tutor

_______________________________________________
Tutor maillist  -  [EMAIL PROTECTED]
http://mail.python.org/mailman/listinfo/tutor

Reply via email to