boolean from a function

Ethan Furman ethan at stoneleaf.us
Tue Dec 13 12:42:05 EST 2011


Andrea Crotti wrote:
> I'm not sure for how long I had this bug, and I could not understand the 
> problem.
> 
> I had a function which would return a boolean
> 
> def func_bool():
>     if x:
>         return True
>     else: return False
> 
> Now somewhere else I had
> 
> if func_bool:
>     # do something
> 
> I could not quite understand why it was always true, until I finally 
> noticed that the () were missing.
> Is there some tool to avoid these stupid mistakes? (pylint doesn't warn 
> me on that)
> I don't think I will ever (or almost) have to use a function as a 
> boolean, instead of its return value...

Heh, I do believe I've been bitten by that a couple times.

The only defense I'm aware of is good unit tests.

~Ethan~



More information about the Python-list mailing list